использование проверки подлинности Windows с активными группами каталогов в качестве ролей
Я прочитал несколько вопросов на эту тему, таких какВот, Вот, Вот а такжеВот; но никто не предоставил рабочего решения в моем случае.
Что я хочу сделать:
Реализовать проверку подлинности Windows для веб-приложения, которое используется только нашими сотрудниками. Таким образом, им не нужно входить в приложение, но уже проходить проверку подлинности, выполнив вход в Windows.
Кроме того, мне нужно ограничить определенные области приложения на основе групп безопасности Active Directory, на которые может быть назначен пользователь.
Поэтому я хочу иметь возможность украсить контроллеры / действия с
[Authorize(Roles="SomeRole")]
Что я пробовал:
у меня есть
<authentication mode="Windows" />
в моем web.config. И я добавил несколько перестановок<roleManager>
как найдено в некоторых постах, ссылки на которые приведены выше. В настоящее время у меня есть этот менеджер роли
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
как найдено вэто Почта.
Как это, если я украшаю контроллер с[Authorize]
Я могу получить к нему доступ.
Тем не мение:
В моих пользовательских настройках сети я вижу, что я являюсь частью группы безопасности AD под названием «IT». Но если я украшу тот же контроллер с[Authorize(Roles="IT")]
Я получаю пустой экран, который обслуживается сервером разработки asp.net для 401 не авторизованным.Это неожиданно. Я думаю, что я смогу просматривать страницу, когда я вошел в Windows и являюсь частью группы «IT».
Почти все, что я нахожу по этой теме, делает то, что я пытаюсь сделать, очень просто, но я здесь явно что-то упускаю.