У меня есть функция, которая проверяет, является ли группа членом группы. У меня есть 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 - заранее спасибо