Как настроить пользователя Windows для прохождения определенной проверки личности .NET?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как настроить пользователя Windows для прохождения определенной проверки личности .NET?

Сообщение Anonymous »

Я работаю над приложением .NET, которое использует WindowsIdentity и WindowsPrincipal для проверки разрешений пользователей на основе их членства в группах. Приведенный ниже метод оценивает, является ли пользователь администратором или принадлежит к определенной группе на основе его SID. Мне нужно проверить конкретное условие, при котором пользователь на самом деле не является администратором, но распознается как администратор на основании другого утверждения.
Вот метод, о котором идет речь:

Код: Выделить всё

private const string LocalAdministratorsGroupSID = "S-1-5-32-544"; // well-known Administrators group SID

public static bool CheckIdentity(WindowsIdentity identity)
{
var clientWindowsPrincipal = new WindowsPrincipal(identity);
return clientWindowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator) ||
clientWindowsPrincipal.Claims.Any(c => c.Value == LocalAdministratorsGroupSID);
}
Цель:
Я хочу создать тестового пользователя, который:
  • Фактически не имеет прав администратора (

    Код: Выделить всё

    IsInRole(WindowsBuiltInRole.Administrator)
    возвращает false).
  • Есть утверждение с SID группы «Администраторы» (

    Код: Выделить всё

    "S-1-5-32-544"
    ), делая вторую часть условия (

    Код: Выделить всё

    clientWindowsPrincipal.Claims.Any
    ) возвращает true.
Вопрос:
Как настроить пользователя или для достижения этой цели манипулировать объектом WindowsIdentity в тестовой среде? Я изучаю, как смоделировать или вручную внедрить такие утверждения, прежде всего в целях тестирования. Любые рекомендации по подходу к этому в контексте .NET будут особенно полезны.

Подробнее здесь: https://stackoverflow.com/questions/783 ... tity-check
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»