检查组成员身份

时间:2013-07-12 18:31:07

标签: c# active-directory

我一直在疯狂地跑来跑去试图让它正常工作,但似乎它似乎拒绝了。我在网上找到的所有示例看起来都非常像这样,与PrincipalContext,UserPrincipal和GroupPrincipal的声明方式不同。有些是由返回对象的函数声明的,有些则是直接执行。对我来说令人沮丧的是,当我运行这段代码时:

PrincipalContext oPrincipalContext = GetPrincipalContext(sDefaultRootOU);
            UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(oPrincipalContext, IdentityType.SamAccountName, sUserName);
            GroupPrincipal oGroupPrincipal = GroupPrincipal.FindByIdentity(oPrincipalContext, sGroupName);

            bool isUserGroupMember = oUserPrincipal.IsMemberOf(oGroupPrincipal);

无论我做什么,isUserGroupMember总是返回false,即使有问题的用户是该组的成员。对我做错了什么的想法?任何帮助将不胜感激。

谢谢!

更新这很疯狂,但是我设法将问题分解为一个组,即Domain Users组,我已经针对其他“内置”AD组进行了验证,并且会员资格显示正确。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

虽然不是一个完整的答案,但好像是' Domain Users'无论成员身份如何,group都是唯一返回此结果的人。默认情况下看到所有用户都是该组的成员我只是在那里写了一行来忽略该组,如果指定的组是' Domain Users'