Active Directory - пользователь не является членом группы, в которой он находится - PullRequest
0 голосов
/ 25 сентября 2018

Я получаю список групп для конкретного пользователя, используя GetAuthorizationGroups, но когда я проверяю, является ли этот пользователь членом этих групп, иногда я получаю false.Так почему же тттт ниже ложен?

var ADContext = new PrincipalContext(ContextType.Domain, "");
var userIdentity = UserPrincipal.FindByIdentity(ADContext, IdentityType.SamAccountName, userName);

var groups = userIdentity.GetAuthorizationGroups().OfType<GroupPrincipal>();
foreach (var group in groups)
     {
         var tttt = userIdentity.IsMemberOf(group);

      }

1 Ответ

0 голосов
/ 26 сентября 2018

Есть ли у вас вложенные группы?GetAuthorizationGroups возвращает рекурсивный список членства в группах .Я считаю, что IsMemberOf проверяет членство direct .

В качестве примера я создаю GroupA.GroupB является членом GroupA, и я являюсь членом GroupB:

GetAuthorizationGroups вернет GroupA, и GroupB

IsMemberOf (GroupB) будет истинным, потому что I am прямой член GroupB

IsMemberOf (GroupA) будет ложным, потому что я не прямой член GroupB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...