Используя проверку подлинности Windows в веб-приложении интрасети, я хочу добиться следующего:
- Собрать дополнительные атрибуты из AD (имя, номер сотрудника)
- Собрать дополнительные атрибуты из таблицы базы данных (рабочее время, оплата)
- Авторизация на основе ролей приложения (не групп AD)
- Авторизация на основе атрибута AD (есть прямые подчиненные)
- Пользователь не предоставил имя пользователя / пароль
В моем поиске ответа предполагается, что мне нужно добавить ClaimsTransformation
в мое приложение:
Как использовать аутентификацию Windows с пользователями в базе данных
Заполнение настраиваемого утверждения из SQL с проверкой подлинности Windows приложение в .Net Core
Кэширование заявлений в .NET core 2.0
Хотя я не совсем понимаю решение и почему ClaimsTransformation
происходит при каждом запросе, поэтому я ищу ответы на следующие вопросы:
- Требуется ли удостоверение ASP.NET Core для работы
ClaimsTransformation
? - Выполняется ли
ClaimsTransformation
при каждом запросе только с проверкой подлинности Windows или с проверкой подлинности на основе форм? - Должно ли это происходить по каждому запросу?
- Кэширование таких утверждений, как GivenName, Surname, кажется простым, но как насчет ролей? Какие шаги необходимо предпринять, чтобы база данных не попадала каждый раз, а роли обновлялись при внесении изменений.
- Есть ли более простая альтернатива тому, что я пытаюсь сделать?