Назад | Перейти на главную страницу

Как мне решить затруднительное положение Alfresco LDAP «вход по адресу электронной почты»?

У меня есть установка Alfresco (в Windows) для использования модели аутентификации LDAP-AD. Когда пользователи входят в систему, используя только свое имя пользователя, он правильно создает учетную запись и разрешает доступ. Однако, если они входят в систему по адресу электронной почты, они попадают в «неработающую» учетную запись. Ни один из их материалов недоступен, и он даже не отображается как реальный аккаунт.

Я был бы в порядке с перенаправлением входа с адреса электронной почты на вход с обычным именем пользователя или с полным отказом входа в систему с адресом электронной почты.

Похоже, что если бы нам никогда не пришлось добавлять больше пользователей, я бы мог synchronization.autoCreatePeopleOnLogin = false в конфигурации, чтобы предотвратить эти частичные учетные записи электронной почты. Однако в нашей среде есть новые люди, которым необходимо автоматически добавлять через частые промежутки времени (достаточно, чтобы настройка конфигураций и сброс службы каждый раз быстро устаревали), а конфигурация LDAP-AD требует автоматического создания (параметры создания учетной записи вручную выделены серым цветом. вне).

Другие идеи?

edit - добавление конфигурации, так как это звучит так, как будто я вызвал это, а не что-то не хватает ...

### Active Directory Integration ###
authentication.chain=passthru1:passthru,ldap1:ldap-ad
passthru.authentication.sso.enabled=false
passthru.authentication.allowGuestLogin=false
passthru.authentication.authenticateCIFS=false
passthru.authentication.authenticateFTP=false
passthru.authentication.servers=domain.com
passthru.authentication.domain=DOMAIN
passthru.authentication.useLocalServer=false
passthru.authentication.defaultAdministratorUserNames=specialadminaccount
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NETBIOS
ldap.authentication.active=false
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.userNameFormat=%s
ldap.authentication.allowGuestLogin=false
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://domain.com:389
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.synchronization.active=true
ldap.synchronization.java.naming.security.principal= DOMAIN\\specialadminaccount
ldap.synchronization.java.naming.security.credentials=password
ldap.synchronization.queryBatchSize=1000
ldap.synchronization.groupDifferentialQuery=(&(objectclass=nogroup)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(userAccountControl\:1.2.840.113556.1.4.803\:\=512))
ldap.synchronization.personDifferentialQuery=(& (objectclass=user)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupQuery=(objectclass\=group)
ldap.synchronization.groupSearchBase=cn\=users,dc=domain,dc=com
ldap.synchronization.userSearchBase=cn\=users,dc=domain,dc=com
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss’.0Z’
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=msExchALObjectVersion
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupType=Nogroup
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
synchronization.synchronizeChangesOnly=false

Также посмотрите сообщение на https://forums.alfresco.com/forum/installation-upgrades-configuration-integration/configuration/ldap-authentication-ad-email#comment-155600 чтобы увидеть, что происходит.

Проблема в том, что на открытом воздухе он выполняет поиск по DNS и не ищет объект, а затем пытается войти в систему с паролем.

В таком сценарии вы должны быть особенно осторожны с тем, как ваш dn выглядит в ldap.

Посмотрите на снимок экрана, чтобы увидеть, что, хотя все остальные атрибуты одинаковы, идентификация dn имеет значение, и я мог войти только через hello@liferay.com но другой логин не работал.

изменения свойств, как показано ниже

ldap.authentication.userNameFormat=mail=%s,ou=people,dc=organisation,dc=com
ldap.synchronization.userIdAttributeName=mail