Active directory Sitecore Active Directory间接成员身份

Active directory Sitecore Active Directory间接成员身份,active-directory,ldap,sitecore,sitecore6,Active Directory,Ldap,Sitecore,Sitecore6,我们有Sitecore 6.5和AD模块1.0.4 DEPARTMENT\Sitecore用户的广告组中的用户可以登录到Sitecore,但DEPARTMENT\Sitecore\u Role1组中的用户无法登录,即使DEPARTMENT\Sitecore\u Role1组是Sitecore\u用户的成员 LDAP.IncludeIndirectMembership设置为true,并且在DOMAIN\SitecoreUsers中具有成员资格的所有组都显示在角色管理器中。我尝试将Sitecore\

我们有Sitecore 6.5和AD模块1.0.4

DEPARTMENT\Sitecore用户的广告组中的用户可以登录到Sitecore,但DEPARTMENT\Sitecore\u Role1组中的用户无法登录,即使DEPARTMENT\Sitecore\u Role1组是Sitecore\u用户的成员

LDAP.IncludeIndirectMembership设置为true,并且在DOMAIN\SitecoreUsers中具有成员资格的所有组都显示在角色管理器中。我尝试将Sitecore\u Role1角色添加为Sitecore\Sitecore客户端用户的成员,但仍然不允许Sitecore\u Role1成员登录

我们所有的广告用户都必须同时添加到他们的Sitecore_角色组和Sitecore_用户组吗?我认为属于成员组应该允许他们登录到Sitecore。有人能帮我澄清一下吗

我已经阅读了《Sitecore广告模块管理指南》,并认为我已经正确设置了它,但以下是我认为需要审查的相关设置

正在使用的连接字符串是:

我们的广告是这样设置的

- 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\u用户、OU=Sitecore、OU=Groups、DC=department、DC=ourorg、DC=edu)
获取广告组的后代成员的正确语法是:

(memberof:1.2.840.113556.1.4.1941:=CN=Sitecore_Users,OU=Sitecore,OU=Groups,  
DC=department,DC=ourorg,DC=edu)
如果要将组本身及其成员和成员组成员包括在结果中,请使用:

(|(&(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中,并且符号and不是有效的xml字符

@JensMikkelsen的评论让我从思考Sitecore广告模块的工作方式转变为思考LDAP过滤器的工作方式。对stackoverflow的更多研究导致了这个stackoverflow,它与一些LDAP链接。一个额外的谷歌搜索导致更多的LDAP语法

解决问题的关键是认识到memberOf的工作方式与我想象的不同。它只返回直接成员,而不是通过组成员进行级联。为了在成员链中进一步使用LDAP_匹配_规则,有必要在_链中使用_。看起来是这样的:

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

使用Jen的想法,即使用Active Directory浏览器计算出正确的过滤器,这让我找到了上面的值。我使用了Active Directory浏览器,因为它允许我更改用户和Active Directory管理中心,因为它更容易找到如何输入ldap筛选器的方法,就像我在Sitecore广告模块中将其用作customFilter值一样。

嗨,Daniel,设置它可能会非常令人沮丧。我通常使用广告浏览器来查看我是否从广告中获得了正确的角色/用户。类似这样的内容:使用与连接字符串和自定义筛选器相同的凭据,您可以查看角色吗?谢谢,Jens。我得到了广告浏览器,可以看到用户直接添加到组和组的成员,但没有“组中组”的任何成员。我正试图找到一个更好的过滤器来获得所有用户,但这相当令人困惑。@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)),如果我知道怎么做,我会相信你的回答。我不知道怎么做。我想你可以对我的评论投赞成票。由于我的答案不是正确的,我认为你应该用正确的连接回答自己,然后将其标记为答案。:)