Thank you Tim,

> Just skimming your configuration, it looks like, based on the DSpace 
> LDAP Documentation you have a slightly odd combination of configs. I'm 
> not sure which version of DSpace you are using though, so I'm assuming 
> this might be 4.x:

4.2

> https://wiki.duraspace.org/display/DSDOC4x/Authentication+Plugins#AuthenticationPlugins-LDAPAuthentication
>
> In the docs, you'll see a few important configuration notes:
>
> 1) "search_context" notes that "With autoregister turned on, when a user 
> authenticates without an EPerson object we search the LDAP directory to 
> get their name and email address so that we can create one for them." 
> You seem to have skipped specifying a "search_context" for searching 
> LDAP? Not sure if this was on purpose or not.

That search_context is not very clear. It is also says "Often the
search_context is the same as the object_context parameter." I
understand that by default it will be made similar and I have to give it
a value only in the case it is different.

And in LDAP cpntext, "So after we have authenticated against
uid=username,ou=people,o=byu.edu we now search in ou=people for
filtering on [uid=username]." makes little sense: the name and mail are
attribute of the LDAP person object that we have just authenticated
against, why looking for them elsewhere?

> 2) Also you have two options when searching LDAP:
>      * You can set "search.anonymous=true" in which case LDAP is 
> searched anonymously.
>      * OR, you can specify "search.user" and "search.password" to search 
> LDAP as a specific Admin account.
>     It looks like you've commented out *both* of these settings, which 
> just defaults to searching anonymously.

search.anonymous is not mentionned on the web page you linked to
above :) In DSpace-Manual.pdf, search.anonymous is only mentionned in
the chapter about upgrading from 1.8 to 3.x, it is about hierarchical
LDAP tree. It is also mentionned in authorization-ldap.cfg, under
hierarchical LDAP tree.

search.user and search.password are both mentionned in the section about
hierarchical LDAP tree: in the web page, in the PDF manual and in the
comments in authorization-ldap.cfg.

I have a flat tree, with all the users residing in the same branch, so I
did not see the need to use any of the search.something.

> 3) As for the "email" field problem. There was a known bug regarding 
> this in DSpace 3 and 4. It's now been fixed in DSpace 5. Here's the info 
> on that problem: https://jira.duraspace.org/browse/DS-1781

Thanks, I will patch that.

Best regards,

Olivier

> As for your questions about why DSpace creates an EPerson. DSpace is 
> only *aware* of EPerson objects in the system. Therefore, all the DSpace 
> authentication plugins create/update a corresponding EPerson object. 
> DSpace primarily uses LDAP (or Shibboleth) to ensure you have access to 
> the system, but after that, all content you create is associated with 
> your *DSpace EPerson*.
>
> Hopefully that gives you a few clues to go on. Good luck!
>
> - Tim
>
>
> On 1/22/2015 2:34 AM, Olivier Nicole wrote:
>> Hi,
>>
>> OK, I have some answers but it raises much more questions.
>>
>>> enable = true
>>> autoregister = true
>>> provider_url = ldaps://ldap.cs.ait.ac.th/
>>> id_field = uid
>>> object_context = ou=People,ou=csim,dc=cs,dc=ait,dc=ac,dc=th
>>> # search_context = ou=People
>>> email_field = mail
>>
>> It stubornedly refuses to work.
>>
>>> surname_field = sn
>>> givenname_field = givenName
>>> phone_field = telephoneNumber
>>> #login.specialgroup = CSIM_LDAP
>>> search_scope = 2
>>> #search.anonymous = false
>>
>> This MUST be set to true in order to have autoregister working.
>>
>>> #search.user = cn=admin,ou=people,o=myu.edu
>>> #search.password = password
>>> #netid_email_domain = @example.com
>>> #login.groupmap.1 = ou=ldap-dept1:dspace-group1
>>> login.groupmap.attribute = csimAccountPermission
>>
>> This attribute can only have *ONE* value.
>>
>>> login.groupmap.1 = dspace:CSIM_LDAP
>>> login.groupmap.2 = dspaceadmin:Administrator
>>
>> - So the autoregister of the email is not working (name, phone are working
>> great). I tried with one or two values for the mail attribute, could not
>> get it to work. I can live with that as users are located in the same
>> domain as DSpace and email can be sent with only the username.
>>
>> - The login.groupmap.attribute cannot have several values, I think I can
>>    live with it and manage the group hierarchy some other way if I want a
>>    user to belong to 2 groups.
>>
>> - But what is really puzzling me is why the search has to be anonymous?
>>    The user has provided a username and password, these have been used to
>>    successfully bind to LDAP, then the search should be made as the user,
>>    not as anonymous (hopefully the user has more visibility to his own
>>    data than anonymous has; if the telephone number should not be made
>>    world visible for security readon, when bind as the user, the user
>>    should be able to see his own phone number).
>>
>>    So the anonymous search should be used only when trying to figure out
>>    the DN of the user in a hierarchical LDAP. It should not be used to
>>    gather the personnal information once the user has successfully
>>    bind. Or there is a case i don't understand where the bind DN is
>>    different fro the DN that contains the user detail?
>>
>> And this leads me to a more general remark: why creating eperson for a
>> user loged in with LDAP?
>>
>> - when the LDAP account is removed, the user can still login using is
>>    eperson account (provided that he has updated his profile and
>>    installed a password); so when a user is leaving the system, he must
>>    also be deleted from DSpace;
>>
>> - when the LDAP account is updated, the eperson must be updated in the
>>    same way;
>>
>> - there is no major difference between finding the person details in LDAP
>>    and in Postgres; one should not take longer than the other.
>>
>> Best regards,
>>
>> Olivier
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
>> GigeNET is offering a free month of service with a new server in Ashburn.
>> Choose from 2 high performing configs, both with 100TB of bandwidth.
>> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
>> http://p.sf.net/sfu/gigenet
>> _______________________________________________
>> DSpace-tech mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>> List Etiquette: 
>> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>>
>
> ------------------------------------------------------------------------------
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
> List Etiquette: 
> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>

-- 

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Reply via email to