我有一个检查组是否为组成员的函数。我有2个功能变体,均无法按预期工作:

public bool IsGroupGroupMember(GroupPrincipal gp, GroupPrincipal pgp)
        {
            return gp.IsMemberOf(pgp);
        }




 public bool IsGroupGroupMember(GroupPrincipal gp, GroupPrincipal pgp)
        {
            if (gp != null && pgp != null)
            {
                return pgp.Members.Contains(gp);
            }
            else
            {
                return false;
            }
        }


两者看起来都不错,但是总是返回false。当需要调用GroupPrincipal.save方法时,将引发一个对象已存在错误。

我运行了一个foreach循环以获取父组成员的名称,并将其与要添加的新成员名称进行比较,毫无疑问该成员确实存在。

我可以使用LINQ对名称进行字符串比较,但这并不理想。

什么?如果我做错了什么?有没有更好的方法来确定一个组中是否存在一个组。

使用框架3.5-预先感谢

最佳答案

我知道这有点晚了,但是对于将来的参考,您可能想尝试一下。

public bool IsGroupGroupMember(GroupPrincipal gp, GroupPrincipal pgp)
    {
        return gp.GetMembers(true).Contains(pgp);
    }

关于c# - GroupPrincipal.IsMemberOf始终返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7648887/

10-11 18:03