【问题标题】:Checking for group membership检查组成员身份
【发布时间】:2013-07-12 18:31:07
【问题描述】:

我一直在疯狂地跑来跑去,试图让它正常工作,但似乎它拒绝了。我在网上找到的所有示例看起来都差不多,只是 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,即使有问题的用户是组的成员。关于我做错了什么有什么想法吗?任何帮助将不胜感激。

谢谢!

更新这很疯狂,但是我已设法将问题隔离到一个组,即域用户组,我已针对其他“内置”AD 组验证了这一点,并且成员资格显示正确。有什么想法吗?

【问题讨论】:

    标签: c# active-directory


    【解决方案1】:

    虽然不是一个完整的答案,但似乎“域用户”组是唯一返回此结果的组,无论其成员身份如何。看到默认情况下所有用户都是该组的成员,如果指定的组是“域用户”,我只是在其中写了一行以忽略该组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 2017-11-06
      相关资源
      最近更新 更多