LDAP - Connection utilisateurs non autorisés

cancel
Showing results for 
Search instead for 
Did you mean: 
snutin
Member II

LDAP - Connection utilisateurs non autorisés

Bonjour,

Nous mettons actuellement en place un serveur OpenLDAP couplé entre autre avec un Alfresco. Je souhaites que seul les membres de deux groupes aient accès à Alfresco, pour cela j'ai créé deux groupes (alfresco_admin et alfresco_user) sur mon serveur openLDAP et j'ai activé le module memberOf afin d'avoir l'attribut correspondant sur les utilisateurs.

Malheureusement, même les utilisateurs ne faisant pas partie de ces groupes ont accès à Alfresco. Ils ne sont pas synchronisés de base mais leur profil est créé lorsqu'ils essaient de se connecter.

Comment faire en sorte que les utilisateurs ne faisant pas partie de ces groupes ne puisse pas se connecter dans Alfresco ?

Voici ma configuration :

alfresco-global.properties

authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap 

ldap-authentication.properties

ldap.authentication.active=true 
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=uid=%s,ou=user,dc=domain,dc=com
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://ldap.domain.com:389
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.authentication.defaultAdministratorUserNames=Administrator
ldap.authentication.authenticateFTP=true ldap.synchronization.active=true
ldap.synchronization.java.naming.security.authentication=simple
ldap.synchronization.java.naming.security.principal=cn\=admin,dc\=domain,dc\=com
ldap.synchronization.java.naming.security.credentials=secret
ldap.synchronization.queryBatchSize=0
ldap.synchronization.attributeBatchSize=0 synchronization.synchronizeChangesOnly=false
synchronization.allowDeletions=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.autoCreatePeopleOnLogin=false ldap.synchronization.groupQuery=(objectclass\=groupOfNames)
ldap.synchronization.groupDifferentialQuery=(&(objectclass\=groupOfNames)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass\=inetOrgPerson)(|(memberOf\=cn\=alfresco_admin,ou\=Alfresco,ou\=group,dc\=domain,dc\=com)(memberOf=cn\=alfresco_user,ou\=Alfresco,ou\=group,dc\=domain,dc\=com)))
ldap.synchronization.personDifferentialQuery=(&(objectclass\=inetOrgPerson)(|(memberOf\=cn\=alfresco_admin,ou\=Alfresco,ou\=group,dc\=domain,dc\=com)(memberOf=cn\=alfresco_user,ou\=Alfresco,ou\=group,dc\=domain,dc\=com))(!(modifyTimestamp<\={0})))
ldap.synchronization.groupSearchBase=ou\=Alfresco,ou\=group,dc\=domain,dc\=com
ldap.synchronization.userSearchBase=ou\=user,dc\=domain,dc\=com ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp ldap.synchronization.timestampFormat=yyyyMMddHHmmss'Z' ldap.synchronization.userIdAttributeName=uid ldap.synchronization.userFirstNameAttributeName=givenName ldap.synchronization.userLastNameAttributeName=sn ldap.synchronization.userEmailAttributeName=mail ldap.synchronization.userOrganizationalIdAttributeName=o ldap.synchronization.defaultHomeFolderProvider=largeHomeFolderProvider ldap.synchronization.groupIdAttributeName=cn ldap.synchronization.groupDisplayNameAttributeName=description ldap.synchronization.groupType=groupOfNames ldap.synchronization.personType=inetOrgPerson ldap.synchronization.groupMemberAttributeName=member
ldap.synchronization.enableProgressEstimation=true ldap.authentication.java.naming.read.timeout=0 ldap.authentication.java.naming.referral=follow
ldap.synchronization.userAccountStatusProperty=pwdAccountLockedTime ldap.synchronization.disabledAccountPropertyValue=000001010000Z ldap.synchronization.disabledAccountPropertyValueCanBeNull=true ldap.synchronization.userAccountStatusInterpreter=ldapUserAccountStatusInterpreter

Cordialement.

Pierre.

1 Reply
Moderator
Moderator

Re: LDAP - Connection utilisateurs non autorisés

Bonjour,

 

Je pense que le problème vient de la requête :

ldap.synchronization.personQuery=(&(objectclass\=inetOrgPerson)(|(memberOf\=cn\=alfresco_admin,ou\=Alfresco,ou\=group,dc\=domain,dc\=com)(memberOf=cn\=alfresco_user,ou\=Alfresco,ou\=group,dc\=domain,dc\=com))) 
ldap.synchronization.personDifferentialQuery=(&(objectclass\=inetOrgPerson)(|(memberOf\=cn\=alfresco_admin,ou\=Alfresco,ou\=group,dc\=domain,dc\=com)(memberOf=cn\=alfresco_user,ou\=Alfresco,ou\=group,dc\=domain,dc\=com))(!(modifyTimestamp<\={0}))) 

Avez-vous tester cette requête sur votre serveur LDAP ? Retourne-t-elle uniquement les utilisateurs que vous attendez ?

 

Références :

https://docs.alfresco.com/community/concepts/auth-ldap-props.html