2013-08-07 2 views
3

У нас есть Sitecore 6.5 с AD Module 1.0.4.Sitecore Active Directory Непрямой членство

Пользователи, которые входят в группу AD для DEPARTMENT \ SitecoreUsers, могут войти в Sitecore, но пользователи из группы DEPARTMENT \ Sitecore_Role1 не могут войти в систему, даже если группа DEPARTMENT \ Sitecore_Role1 является членом Sitecore_Users.

В LDAP.IncludeIndirectMembership установлено значение true, и все группы, которые имеют членство в DOMAIN \ SitecoreUsers, отображаются в диспетчере ролей. Я попытался добавить роль Sitecore_Role1 в качестве члена sitecore \ Sitecore Client Users, но это не позволило пользователям Sitecore_Role1 войти в систему.

Нужно ли добавлять всех наших пользователей AD как в свою группу Sitecore_Role, так и в группу Sitecore_Users? Я думал, что принадлежность к группам участников должна позволять им входить в Sitecore. Может кто-нибудь, пожалуйста, поставил меня прямо?

Я работал, хотя руководство администратора модуля Sitecore AD и считаю, что я правильно настроил его, но вот что я считаю релевантными для проверки.

Строка соединения используется является:

<add name="WUDOSISConnectionString" connectionString="LDAP://wudosis.wustl.edu:389/DC=department,DC=ourorg,DC=edu"/>

и наш AD настроен как

- Department 
    + Groups 
     * Sitecore 
      - Sitecore_Users 
      - Sitecore_Role1 (Member of Sitecore_Users) 
      - Sitecore_Role2 (Member of Sitecore_Users) 

Элементы в system.web/членства/prividers, roleManager и профиль все имеют customFilter = (memberOf=CN=Sitecore_Users,OU=Sitecore,OU=Groups,DC=department,DC=ourorg,DC=edu)

+0

Привет, Даниэль, Настройка этого может быть довольно неприятной.Обычно я использую браузер AD, чтобы узнать, получаю ли я правильные роли/пользователя из AD. Что-то вроде этого: http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx Вы можете видеть роли, используя те же учетные данные, что и ваша строка подключения и настраиваемые фильтры? –

+0

Спасибо, Дженс. Я получил AD Explorer и вижу пользователей, добавленных непосредственно в группу и группы, которые являются членами, но не являются членами «групп в группе». Я пытаюсь найти лучший фильтр, который получит всех пользователей, но это довольно запутанно. –

+0

@JensMikkelsen, вы установили меня на правильном пути получения правильного фильтра ldap. Правильный был (| & (objectCategory = group) (cn = Sitecore_Users)) (memberof: 1.2.840.113556.1.4.1941: = CN = Sitecore_Users, OU = Sitecore, OU = Groups, DC = department, DC = ourorg, DC = edu)) Я бы дал вам кредит на ответ, если бы знал, как это сделать. –

ответ

1

Правильный синтаксис для получения дочерних элементов группы AD:

(memberof:1.2.840.113556.1.4.1941:=CN=Sitecore_Users,OU=Sitecore,OU=Groups, 
DC=department,DC=ourorg,DC=edu) 

Если вы хотите включить в саму группу в результате вместе со своими членами и членами-членов групп, используйте:

(|(&amp;(objectCategory=group)(cn=Sitecore_Users)) 
(memberof:1.2.840.113556.1.4.1941:=CN=Sitecore_Users,OU=Sitecore,OU=Groups, 
DC=department,DC=ourorg,DC=edu)) 

Обратите внимание, что значение & заменяет обычный амперсанд, так как линия включен в web.config сайта, а амперсанды не являются действительными символами xml.

Комментарий, который сделал @JensMikkelsen, заставил меня изменить свое мнение о том, как работает модуль Sitecore AD, чтобы думать о том, как работают фильтры LDAP. Больше исследований по stackoverflow привело к этому stackoverflow , который имел ссылку на какой-то LDAP documentation. Дополнительный поиск в Google приводит к более синтаксису LDAP documentation.

Ключом к решению было осознание того, что memberOf не работает так, как я думал. Вместо того, чтобы каскадировать через членство в группе, он возвращает только прямые члены. Для того, чтобы опуститься дальше, необходима цепочка членства с использованием LDAP_MATCHING_RULE_IN_CHAIN. Это выглядит следующим образом:

(memberof:1.2.840.113556.1.4.1941:=(cn=Group1,OU=groupsOU,DC=x)) 

Используя идею Джен с помощью браузера Active Directory, чтобы выработать правильный фильтр привел меня к вышеуказанным значениям. Я использовал оба браузера Active Directory, потому что это позволило мне изменить пользовательский центр и Центр администрирования Active Directory, потому что было проще выяснить, как вводить фильтр ldap так же, как я бы использовал его как значение customFilter в модуле AD Sitecore.

Смежные вопросы