Я пытаюсь получить роли безопасности для входа пользователя, используя субъект безопасности, как показано ниже.
PrincipalContext c = new PrincipalContext(ContextType.Domain, "Domain");
using (UserPrincipal rolePrincipal = UserPrincipal.FindByIdentity(c, user.Login))
{
if (rolePrincipal != null)
{
// get the authorization groups - those are the "roles"
var groups = rolePrincipal.GetAuthorizationGroups();
foreach (Principal psID in groups)
{
Console.Out.WriteLine(psID.Sid);
// do something with the group (or role) in question
}
}
}
Но код завершается сбоем и выдает исключение в строке rolePrincipal.GetAuthorizationGroups (), возникает исключение «При попытке получить группы авторизации произошла ошибка (5).»
Пожалуйста, сообщите, есть ли возможность без передачи учетных данных, просто путем изменения общей части кода и пространств имен. Также эта ошибка генерируется только при использовании этих методов, а не для getGroups (), которая возвращает результаты memberof.