DirectoryEntry Вызвать имя метода, необходимое для получения групп авторизации - PullRequest
0 голосов
/ 08 февраля 2019

Я использую приведенный ниже метод DirectoryEntry

https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.directoryentry.invoke?view=netframework-4.7.2

Я пытаюсь получить AuthorizationGroups, используя метод invoke.Я использовал метод ниже

          object obGroups = de.Invoke("Groups");
                            foreach (object ob in (IEnumerable)obGroups)
                            {
                                // name of group
                                obGpEntry.Name;
                            }

Но это не вернет все активные группы каталогов.Мне нужно получить все группы авторизации, к которым принадлежит пользователь

Для этого нужно использовать любую идею, которая является именем метода

1 Ответ

0 голосов
/ 08 февраля 2019

Использование .Invoke("Groups") вызывает собственный метод Windows IADSUser::Groups.Он только получает прямое членство (не вложенные группы) и не дает вам основную группу.Я не совсем уверен, откуда она получает эту информацию, поэтому я не могу точно сказать, что она делает и не дает вам.

Вы пытаетесь найти группы для текущего пользователь (пользователь в данный момент вошел в систему)?Потому что есть другие способы сделать это, чтобы вы могли читать группы с токена аутентификации.Как в ASP.NET, так и в настольном приложении вы можете использовать UserPrincipal.GetAuthorizationGroup () .

Но в противном случае вы могли бы использовать tokenGroups*Атрибут 1017 *, который дает вам все вложенные группы безопасности для целей авторизации:

de.RefreshCache(new [] {"tokenGroups"});
var groups = de.Properties["tokenGroups"];

Однако он дает вам идентификатор безопасности групп, который может быть не сразу полезен, если вам нужны имена.

Есть несколько способов получить все группы пользователей, которые зависят от того, сколько информации вы ищете и от вашей среды.Я написал статью об этой вещи несколькими примерами методов: Active Directory: поиск всех групп пользователей

...