Требуется помощь в настройках авторизации (синхронизации) Alfresco 4.2 с Zimbra OSE 8.0

 

Добрый день! В настоящее время в нашей фирме проходит подготовка к переходу и постепенный от Oracle CS на Zimbra+Alfresco. Хотелось бы заметить сразу, что опыта работы с обоими продуктами практически нет вообще (т.е. уровень - новичок). Переход на Zimbra CS OSE 8.0 прошел достаточно гладко и успешно. Настала очередь за Alfresco Community (ее мы выбрали в качестве кандидата на CMS). Установка самой Alfresco прошла достаточно спокойно и гладко. Далее встал вопрос по созданию пользователей в Alfresco. Соответственно появилось 2 пути: непосредственное создание пользователей в самой Alfresco, либо импорт и синхронизация из Zimbra. В инете достаточное количество статей по синхронизации и авторизации Alfresco с внешними каталогами (в том числе на этом форуме есть статьи посвященные синхронизации с AD), есть описания и в книгах по Alfresco, но на практике я столкнулся с некоторыми проблемами. В частности, в большинстве случаев разделены процессы авторизации и синхронизации. И судя по описаниям, что даже без настройки (включения) синхронизации должна отрабатывать авторизация в Alfresco через внешний OpenLDAP (как частный случай LDAP от Zimbra). Настройка велась через внесение изменений в: /opt/alfresco/tomcat/shared/classes/alfresco-global.properties: authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap synchronization.autoCreatePeopleOnLogin=true а также через создание: файла /opt/alfresco/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1/ldap-authentication.properties: ldap.authentication.active=true ldap.authentication.allowGuestLogin=false ldap.authentication.userNameFormat=uid\=%s,ou\=people,dc\=domain,dc\=com ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory ldap.authentication.java.naming.provider.url=ldap://mail.domain.com:389 ldap.authentication.java.naming.security.authentication=simple ldap.authentication.escapeCommasInBind=false ldap.authentication.escapeCommasInUid=false ldap.authentication.defaultAdministratorUserNames=name.lastname ldap.synchronization.active=false ldap.synchronization.java.naming.security.authentication=simple ldap.synchronization.java.naming.security.credentials=secret ldap.synchronization.queryBatchSize=0 ldap.synchronization.attributeBatchSize=0 ldap.synchronization.groupQuery=(&(objectclass=zimbraDistributionList)(zimbraMailStatus=enabled)) ldap.synchronization.groupDifferentialQuery=(&(objectclass=zimbraDistributionList)(zimbraMailStatus=enabled)(!(modifyTimestamp<={0}))) ldap.synchronization.personQuery=(&(objectClass=organizationalPerson)(zimbraMailStatus=enabled)) ldap.synchronization.personDifferentialQuery=(&(objectClass=organizationalPerson)(zimbraMailStatus=enabled)(!(modifyTimestamp<={0}))) ldap.synchronization.groupSearchBase=dc\=domain,dc\=com ldap.synchronization.userSearchBase=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=company ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider ldap.synchronization.groupIdAttributeName=cn ldap.synchronization.groupDisplayNameAttributeName=description ldap.synchronization.groupType=zimbraDistributionList ldap.synchronization.personType=organizationalPerson ldap.synchronization.groupMemberAttributeName=zimbraMailForwardingAddress ldap.synchronization.enableProgressEstimation=true ldap.authentication.java.naming.read.timeout=0 Однако, после перезапуска Alfresco долгожданного импорта пользователей и их авторизации в Alfresco не произошло. В логах вывалились ошибки следующего рода: 2012-12-11 09:21:48,515 DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-bio-443-exec-13] Authenticating user "name.lastname " 2012-12-11 09:21:48,530 DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-bio-443-exec-13] User "name.lastname" does not exist in Alfresco. Attempting to import / create the user. 2012-12-11 09:21:48,536 DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-bio-443-exec-13] Failed to import / create user "name.lastname" 2012-12-11 09:21:48,536 DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-bio-443-exec-13] Failed to authenticate user "name.lastname" org.alfresco.repo.security.authentication.AuthenticationException: 111114400 User "name.lastname" does not exist in Alfresco Возможно, кто-то подскажет в чем были допущены ошибки или чтио сделано не верно? Заранее спасибо.

 

p.s. вопрос от alexvg75, переношу сюда из блога. В блог можно написать, когда вопрос решится.

Комментарии

alexvg75 аватар
Сегодня попробовал включить синхронизацию. Изменил параметр: ldap.synchronization.active=true добавил: synchronization.syncOnStartup=true synchronization.synchronizeChangesOnly=true synchronization.syncWhenMissingPeopleLogIn=true Пользователи импортировались успешно. Но вопрос остался ... Возможно все же кто-то делал авторизацию без импорта пользователей? И добавился еще один вопрос: Пользователь Admin есть и в Alfresco, и в Zimbra. При поиске Alfresco возвращает только одну запись. Однако, изменив пароль в Alfresco для записи Admin, есть возможность входить и с паролем для Admin установленным в Zimbra, и с паролем, измененным в Alfresco. Причем по логу для первого случая авторизация идет через LDAP Zimbra, а во втором нет. Сколько всего записей Admin (по поиску возвращается одна), и к какой системе она теперь относится, если позволяет авторизоваться и так, и так (принимает пароли от Zimbra и от Alfresco)?