Search code examples
sakai

LDAP server configuration is not working in Sakai 22.1


I have installed Sakai 22.1 and the LMS is running fine. Now I need to integrate the instance to support authentication against LDAP server users (external users) as well as internal users.

To integrate with the LDAP I have uncommented the in components.xml and then modified the unboundid-ldap.xml according to the documentation at https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201507026/Sakai+22+LDAP+CAS+Configuration in the section "Add LDAP to Sakai".

The properties that I have changed are:

<property name="ldapHost">
 <list>
     <value>ldap.server.com</value>
</list>
</property>


<property name="ldapPort">
<list>
   <value>389</value>
</list>
</property>


<property name="ldapUser">
   <value>CN=Administrator,CN=Users,DC=ldap,DC=server,DC=com</value>
</property>


<property name="ldapPassword">
   <value>my secret password here</value>
</property>


<property name="autoBind">
   <value>true</value>
</property>


<property name="basePath">
   <value>dc=ldap,dc=server,dc=com</value>
</property>

I haven't touched any other stuff in the unboundid-ldap.xml file.

Now when I start the tomcat server and try to login with the LDAP users, I do not get authenticated but I can only authenticate with the internal users.

Why is this happening? Do I need to make any other changes to the Sakai? Any guidance on setting up LDAP would be great. Thanks in advance.


Solution

  • Change uid to sAMAccountName for the key login in the unboundid-ldap.xml.

    <property name="attributeMappings">
       <map>
            <entry key="login"><value>sAMAccountName</value></entry>         
            <entry key="firstName"><value>givenName</value></entry> 
            <entry key="preferredFirstName"><value>preferredName</value></entry>
            <entry key="lastName"><value>sn</value></entry> 
            <entry key="email"><value>mail</value></entry>  
            <entry key="groupMembership"><value>groupMembership</value></entry>   
            <entry key="jpegPhoto"><value>jpegPhoto</value></entry>   
        </map>
    </property>