Olivier,

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:

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.

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.

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

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

Reply via email to