Токен сеанса для SPA-клиента - PullRequest
0 голосов
/ 05 июня 2019

Мы перестраиваем приложение, основанное на веб-формах ASP.NET, в SPA с Angular и ASP.NET MVC.В целевом состоянии пользовательская аутентификация управляется через единый вход из фильтров действий MVC.После успешной аутентификации пользователя данные пользователя (роль, идентификатор, GUID) необходимо сохранить в сеансе пользователя и предоставить к ним доступ клиенту (угловой компонент и привязка представления), чтобы отобразить данные пользователя в заголовке приложения.Каков будет рекомендуемый технический подход для поддержания сеанса пользователя между SPA и ASP.NET MVC?

Я предполагаю, что модель (с UserID, Role, GUID) может быть сгенерирована и передана из контроллера API в SPA (контроллер) в формате JSON после успешной аутентификации.Таким образом, пользовательский сеанс SPA может извлекать / отправлять запросы API с заданным GUID в качестве session_identifier.При каждом запросе от клиента к контроллеру API сессионный идентификатор может быть проверен по GUID в пользовательском контексте.Если контекст сеанса на стороне сервера все еще содержит тот же GUID, запрос клиента будет обработан.В противном случае запрос будет отклонен и снова перенаправлен в SSO.Это архитектурно верный подход?

Обратите внимание, что сервер IIS будет настроен на 30 минут простоя.

...