Как отобразить простые требования аутентификации в концепции AspNetCore authn / authz - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю над обновлением устаревшего приложения ASP.NET до ASP.NET Core.

Наше приложение имеет (для меня) довольно базовые требования к аутентификации и авторизации:

  • Нам нужно запустить специальную логику для аутентификации запроса (звонки в центральную службу аутентификации)
  • Мы хотим, чтобы все действия отклоняли неаутентифицированные запросы по умолчанию
  • Мы хотим разрешить анонимные запросы с разрешением анонимно
  • Пользователи могут быть членами нескольких разных ролей, и мы хотим иметь возможность принимать / отклонять запросы на их основе. Одна из ролей требуется по умолчанию (для которой могут быть отключены определенные конечные точки), в то время как для других требуется согласие.
  • Когда запрос отклонен, мы хотим настроить то, что происходит (например, мы можем отправить 403 или перенаправить пользователя на определенную страницу)

Я пытаюсь выяснить, как наилучшим образом использовать многие и многие интерфейсы и классы авторизации и аутентификации в Asp.NET Core для реализации нашего потока, но после прочтения документации MSFT я все еще чувствую, что я чего-то не хватает

Например, мне удалось заставить вещи работать, используя пользовательский компонент промежуточного программного обеспечения для выполнения аутентификации и установки идентификатора, а также настраиваемый фильтр авторизации для обработки авторизации, но я чувствую, что мне нужно выполнить такие вещи, как проверка на AllowAnonymous вручную, который не кажется правильным.

Может ли кто-нибудь сопоставить вышеуказанные требования с соответствующими компонентами ASP.NET Core?

...