Vue.js и Оуэн в ASP MVC Как пройти повторную аутентификацию - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение ASP.NET OWIN (аутентификация выполняется через Active Directory), которое построено как SPA с vue.js и vue-router.Это означает, что приложение, естественно, имеет много AJAX входящих и выходящих.Проблема в том, что иногда OWIN аутентификация истекает, и мне нужно повторно пройти аутентификацию в середине сеанса (имейте в виду, что это может означать повторный запрос учетных данных пользователя).Конечно, все перенаправления OWIN находятся вне контекста vue.js, поэтому я теряю все состояние, и после успешной аутентификации он перенаправляет обратно на ~.

Я хочу сделать это более или менее прозрачным дляпользователь, это означает, что если пользователь находился в процессе редактирования данных, ему необходимо выполнить повторную аутентификацию, не теряя эти данные, и улучшить состояние всего представления.

Я также избегаю слишком больших изменений настройки OWIN, поскольку он сложен, и я не до конца его понимаю.

Подход, о котором я сейчас думаю, следующий:

  1. Один из запросов AJAX завершается неудачно с 401, что означает, чтонам нужно пройти повторную аутентификацию.
  2. Сохранить все состояние просмотра, включая текущий маршрут в cookie (для каждого представления vue.js будет отдельная логика)
  3. Перенаправить на ~ дляOWIN для аутентификации.
  4. Когда ~ загружается обратно после успешной аутентификации, извлеките cookie и очистите его.
  5. Восстановите маршрут из cookie и заполните представлениесостояние для восстановленного представления.

Я думаю, что это должно работать, но это звучит сложно и потенциально опасно.Какие проблемы мне следует ожидать и как лучше справиться с этой ситуацией?Также, может быть, уже есть решения для управления государством, которые бы мне помогли?

...