cancel
Showing results for 
Search instead for 
Did you mean: 

LDAP authentication

jlopez
Champ in-the-making
Champ in-the-making
Hi everybody, I'm using Liferay 4.2.2 and alfresco 1.4 portlet and I want to configure alfresco to be able to login against the LDAP of my company. The problem is that i don' find the ldap-authentication-context.xml and chaining-authentication-context.xml files. What I need to make LDAP authentication working is just create those files and fill them with the data of this post?where should i put them?

Thank you very much.
24 REPLIES 24

jlopez
Champ in-the-making
Champ in-the-making
My ldap-authentication-context.xml is this:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>

<!– DAO that rejects changes - LDAP is read only at the moment. It does allow users to be deleted with out warnings from the UI. –>

<bean name="authenticationDao" class="org.alfresco.repo.security.authentication.DefaultMutableAuthenticationDao" >
  <property name="allowDeleteUser">
    <value>true</value>
  </property>
</bean>

<!– LDAP authentication configuration –>

<!–

You can also use JAAS authentication for Kerberos against Active Directory or NTLM if you also require single sign on from the
web browser. You do not have to use LDAP authentication to synchronise groups and users from an LDAP store if it supports other
authentication routes, like Active Directory.

–>

<bean id="authenticationComponentImpl" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
  <property name="LDAPInitialDirContextFactory">
    <ref bean="ldapInitialDirContextFactory"/>
  </property>
  <property name="userNameFormat">
<!–

This maps between what the user types in and what is passed through to the underlying LDAP authentication.

"%s" - the user id is passed through without modification.
Used for LDAP authentication such as DIGEST-MD5, anything that is not "simple".

"cn=%s,ou=London,dc=company,dc=com" - If the user types in "Joe Bloggs" the authentricate as "cn=Joe Bloggs,ou=London,dc=company,dc=com"
Usually for simple authentication.

–>
    <value>uid=%s,ou=People,dc=isoco,dc=net</value>
  </property>
</bean>

<!–

This bean is used to support general LDAP authentication. It is also used to provide read only access to users and groups
to pull them out of the LDAP reopsitory

–>

<bean id="ldapInitialDirContextFactory" class="org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl">
  <property name="initialDirContextEnvironment">
    <map>
<!– The LDAP provider –>
      <entry key="java.naming.factory.initial">
        <value>com.sun.jndi.ldap.LdapCtxFactory</value>
      </entry>

<!– The url to the LDAP server –>
<!– Note you can use space separated urls - they will be tried in turn until one works –>
<!– This could be used to authenticate against one or more ldap servers (you will not know which one ….) –>
      <entry key="java.naming.provider.url">
       <value>ldap://ldap.isoco.net:389</value>
     </entry>

<!– The authentication mechanism to use –>
<!– Some sasl authentication mechanisms may require a realm to be set –>
<!– java.naming.security.sasl.realm –>
<!– The available options will depend on your LDAP provider –>
     <entry key="java.naming.security.authentication">
      <value>simple</value>
     </entry>

<!– The id of a user who can read group and user information –>
<!– This does not go through the pattern substitution defined above and is used "as is" –>
     <entry key="java.naming.security.principal">
      <value>uid=alfrescouser,ou=People,dc=isoco,dc=net</value>
     </entry>

<!– The password for the user defined above –>
     <entry key="java.naming.security.credentials">
      <value>*******</value>
     </entry>
    </map>
  </property>
</bean>
</beans>

with this I can login with LDAP users, but if I use chaning-authentication-context.xml and ldap-authentication-context.xml as i wrote them in my second post I have a lot of errors creating the beans.

Now with the code that you have given to me i don't have CIFS errors, but i can't login with alfresco admin, I guess because i'm not using chaining.

jayesh_prajapat
Star Contributor
Star Contributor
yes u right

are u getting such info in tomcat

17:23:08,421 INFO  [authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not fall back to anonymous bind fo
r known principal and invalid credentials at ldap://192.168.1.129:10389

if not then add following code in log4j.properties

log4j.logger.com.liferay.portal.security.auth.LDAPAuth=DEBUG
log4j.logger.org.alfresco.repo.security.authentication.ldap=DEBUG

jlopez
Champ in-the-making
Champ in-the-making
I have this in the console:

07:05:02,734 WARN  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server supports anonymous bind ldap://ldap.isoco.net:389
07:05:02,906 INFO  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not support simple string user ids and invalid credentials at ldap://ldap.isoco.net:389
07:05:02,984 INFO  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not fall back to anonymous bind for a simple dn and password at ldap://ldap.isoco.net:389
07:05:03,078 INFO  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not fall back to anonymous bind for known principal and invalid credentials at ldap://ldap.isoco.net:389

jayesh_prajapat
Star Contributor
Star Contributor
can you login in alfresco using LDAP now?

jlopez
Champ in-the-making
Champ in-the-making
Using LDAP yes, but not as Alfresco admin.

jlopez
Champ in-the-making
Champ in-the-making
When I try to use chaining I have lots of errors, I don't know why.

jayesh_prajapat
Star Contributor
Star Contributor
i am also facing same problem here
internal user not working
can u upload your ldap-authentication-context.xml
what other changes you did for configuring LDAP with alfresco.

jlopez
Champ in-the-making
Champ in-the-making
You hav it in the previous page. I think I haven't done anything else to configure Alfresco with LDAP.

In the code you gave me the last week for passthru do i have to put my LDAP server's IP or my machine's IP?

Thank you very much.

jayesh_prajapat
Star Contributor
Star Contributor
what are you using for login. i mean to say are you using UID or email ID or what? :?

jlopez
Champ in-the-making
Champ in-the-making
I use the uid to login.