ASP .NET 5 (MVC6) Аутентификация с помощью внешних форм

В настоящее время я изучаю элегантное решение этой проблемы, но я хотел задать этот вопрос здесь, чтобы получить какие-либо советы/предложения/ответы на эту проблему.

Я работаю с системой аутентификации (аутентификация форм), которую клиент использует для аутентификации.

Текущие шаги:

  1. Перенаправление на URL-адрес для проверки подлинности с помощью форм.
  2. Введите имя пользователя/пароль
  3. Получить обратно данные формы. В частности: Context.Request.Form["Token"]

Я могу выполнить все эти шаги. Я пытаюсь придумать правильный путь, чтобы заставить промежуточное программное обеспечение решить эту проблему. В настоящее время мне интересно, могу ли я просто использовать Microsoft.AspNet.Authentication.Cookies для решения этой проблемы. При таком подходе я бы реализовал свой собственный ICookieManager для просмотра данных формы.

Совет/Предложения/Ответы?

Заранее спасибо!


person Patrick Smith    schedule 14.05.2015    source источник


Ответы (2)


Я придумал свой собственный ответ на этот вопрос, поэтому я хотел поделиться.

Как я уже сказал, я работаю с системой аутентификации форм. Часть данных формы является значением «токен». Мое решение состояло из двух частей:

  1. Я создал компонент промежуточного программного обеспечения для перехвата данных формы, поиска значения «токен» в данных формы и записи его в файл cookie.

  2. Я использовал промежуточное программное обеспечение для проверки подлинности файлов cookie от Microsoft, но мне пришлось переопределить один из параметров, TicketDataFormat. Их реализация предполагает сериализованный/зашифрованный ClaimsIdentity. Мой токен был другим, поэтому мне пришлось реализовать свою собственную вещь, чтобы создать ClaimsIdentity на основе токена.

Я буду рад поделиться более подробной информацией, если кому-то интересно, но это суть моего решения.

person Patrick Smith    schedule 26.05.2015
comment
Было бы здорово, если бы вы поделились подробностями, пожалуйста, потому что я в такой же ситуации и не знаю, как это исправить. - person Coconut; 13.10.2015

У меня нет конкретного совета для вас.

Однако сейчас доступна неплохая официальная документация: Безопасность ASP.NET 5

Там вы можете найти дополнительную информацию, включая Аутентификацию в ASP.NET 5

Я надеюсь, что это поможет вам.

person Lukasz Mk    schedule 05.04.2016