I have been trying to configure Alfresco with Active Directory. Now, all the users in Active Directory can login in Alfresco. The thing is, I just want that some specific users, inside a specific group, can login. My AD tree is something like:
DC=company, DC=pt OU=AlfrescoOU CN=AlfrescoUsers CN=alfresco, CN=Users, DC=company, DC=pt CN=user1, OU=Alfresco, DC=company, DC=pt CN=user2, OU=Support, DC=company, DC=pt …. OU=… CN=… I want that only the users in CN=AlfrescoUsers, OU=AlfrescoOU, DC=company, DC=pt can login!
Found this thread very interesting, however we have e-directory and ldap, but I suppose the query from the Alfresco side to ldap would look the the same ….
The %s@nwu doesn't work ….
If I have a user ABC, sitting in my ldap in ou=ACTIVE, ou=USERS,o=nwu and I want only the authorized users in cn=ALFRESCO, ou=GROUPS,o=nwu to be authenticated, how would my query from Alfresco look like??
one question… is 'o=nwu' correct? or should be 'ou=nwu'? I dont have a deep knowledge in AD, so I dont know if this is correct!
ATM i did some configurations of Alfresco and AD, and all are workin.Except for the CIFS+AD thing!
See this ldap-authentication.properties file I have (workin):
ldap.authentication.userNameFormat=%[email protected] Giving this the user just need to give is username to login in Alfresco. If a user is registed as [email protected], he just need to give jack in alfresco login form.
Other thing, check if your ldap.authentication.java.naming.provider.url as the right name. This is very important!
ldap.authentication.java.naming.security.principal=alfresco -> 'alfresco' is a user created in AD ldap.authentication.java.naming.security.credentials=(pass) -> pass for user 'alfresco' ldap.authentication.escapeCommasInBind=true ldap.authentication.escapeCommasInUid=true
In ldap.synchronization.properties i have: ldap.synchronisation.personQuery=(objectclass=user) -> If you see, this was changed from his original value: (objectclass=inetOrgPerson)
ldap.synchronisation.personSearchBase=ou=Users,ou=abc,dc=company,dc=com in you case, you will have: ldap.synchronisation.personSearchBase=cn=ALFRESCO,ou=GROUPS,o=nwu,dc=company,dc=com
ldap.synchronisation.userIdAttributeName=sAMAccountName - I changed uid to sAMAccountName
ldap.synchronisation.userFirstNameAttributeName=givenName - not changed
ldap.synchronisation.userLastNameAttributeName=sn- not changed
ldap.synchronisation.userEmailAttributeName=mail- not changed
ldap.synchronisation.userOrganizationalIdAttributeName=o- not changed
ldap.synchronisation.defaultHomeFolderProvider=userHomesHomeFolderProvider - changed frompersonalHomeFolderProvider to userHomesHomeFolderProvider to get users home folders in Users Home space
ldap.synchronisation.groupQuery=(objectclass=group) - changed from (objectclass=groupOfNames) to (objectclass=group)
the rest still the default values.
Remember… If you want to access only the user in a specific path (OU=Users, OU=…) you do that in the ldap.synchronization.properties file.