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=ldapUserAccountStatusInterpreterCordialement.
Pierre.