Выход из OWIN не истекает сеанс.Используя сохраненные куки, пользователь может получить доступ к защищенной странице - PullRequest
0 голосов
/ 06 октября 2018

Библиотека безопасности аутентификации Microsoft.owin специально работает с файлами cookie приложения, она не имеет никакого отношения к сеансу приложения.По GetOwinContext (). Authentication.SignOut (), срок действия приложения истекает, очищаются связанные файлы авторизации, так что пользователь не может получить доступ к защищенным страницам через браузер.Если кому-то удастся сохранить файлы cookie (например, с помощью инструмента Brup), он сможет получить доступ к защищенным страницам даже после выхода из системы с помощью сохраненных файлов cookie.Доступ к защищенной странице после выхода с использованием сохраненных файлов cookie, похоже, что сеанс не истек в конце сервера.Да, это правильно, OWIN Signout () не истекает сеанс, он только очищает файл cookie аутентификации.

Итак, какой способ аннулировать сеанс сервера после выхода из OWIN, чтобы никто не мог получить доступ к защищенной странице с помощью сохраненных файлов cookie.

Нет способа аннулировать сеанс с помощью OWINбиблиотека.Вы должны сделать это по-своему.То, что я сделал, это .... 1. После входа сохранить значение в сеансе, указав, что сеанс жив.session ["AppState"] = "ALIVE".2. После выхода сохраните другое значение в сеансе, чтобы указать, что срок сеанса истек.session ["AppState"] = "EXPIRED".3. Перезаписать класс атрибута Authorize и обработать метод AuthorizeCore для проверки сеанса ["AppState"].Если он содержит «ALIVE», это означает, что сессия является действительной и разрешить авторизацию, иначе не разрешить авторизацию.

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

...