我有一个检查组是否为组成员的函数。我有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/