3

AD モジュール 1.0.4 を搭載した Sitecore 6.5 があります。

DEPARTMENT\SitecoreUsers の AD グループに属するユーザーは Sitecore にログインできますが、DEPARTMENT\Sitecore_Role1 グループが Sitecore_Users のメンバーであっても、DEPARTMENT\Sitecore_Role1 グループに属するユーザーはログインできません。

LDAP.IncludeIndirectMembership が true に設定され、DOMAIN\SitecoreUsers にメンバーシップを持つすべてのグループがロール マネージャーに表示されます。Sitecore_Role1 ロールを sitecore\Sitecore Client Users のメンバーとして追加しようとしましたが、それでも Sitecore_Role1 メンバーはログインできませんでした。

すべての AD ユーザーを Sitecore_Role グループと Sitecore_Users グループの両方に追加する必要がありますか? メンバー グループに所属することで、Sitecore にログインできるようになるはずだと思いました。誰か私をまっすぐにしてくれませんか?

Sitecore AD Module Admin ガイドを読み、正しく設定できたと思いますが、レビューに関連する設定は次のとおりです。

使用されている接続文字列は次のとおりです。

<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/membership/prividers、roleManager、および profile の項目にはすべて、customFilter = (memberOf=CN=Sitecore_Users,OU=Sitecore,OU=Groups,DC=department,DC=ourorg,DC=edu)

4

1 に答える 1

1

AD グループの子孫メンバーを取得するための正しい構文は次のとおりです。

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

グループ自体をそのメンバーおよび member-group のメンバーと共に結果に含めたい場合は、次を使用します。

(|(&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 に関するさらなる調査により、いくつかの LDAPドキュメントへのリンクが含まれているこの stackoverflowの回答が得られました。さらに Google 検索を行うと、より多くの LDAP 構文ドキュメントが表示されます。

解決の鍵は、memberOf が思ったように機能しないことに気付くことでした。グループ メンバーシップをカスケードするのではなく、直接のメンバーのみを返します。LDAP_MATCHING_RULE_IN_CHAIN を使用してメンバーシップ チェーンをさらに下るには、必要でした。それは次のようになります。

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

Active Directory ブラウザーを使用して正しいフィルターを作成するという Jen のアイデアを使用すると、上記の値にたどり着きました。ユーザーを変更できる Active Directory ブラウザーと、Sitecore AD モジュールで customFilter 値として使用するのと同じ方法で LDAP フィルターを入力する方法を理解しやすかったため、Active Directory 管理センターの両方を使用しました。

于 2013-08-09T20:25:05.890 に答える