Тайм-аут проверки подлинности Forms - проверка в JavaScript или JQuery

0

Я создаю аутентификацию форм в MVC, используя

'FormsAuthentication.SetAuthCookie(userName, model.RememberMe);'

А в контроллере мы используем атрибут [Авторизованный], чтобы убедиться, что сеанс пользователя действителен и не истек. Он работает хорошо, когда пользователь переходит с одной страницы на другую. И если Cookie истек, то страница входа снова отображается.

Проблема заключается в одной странице (Dashboard), которая заставляет Ajax-вызовы серверу (контроллеру) обновлять некоторые элементы на экране каждую минуту.

В соответствии с политикой компании мы не можем иметь сессию более 30 минут. Поэтому, если эта страница остается открытой в течение 30 минут и истекает срок действия сеанса, мы хотели бы перенаправить на страницу входа. В настоящий момент, если сеанс истекает, эта страница остается прежней, но перестает обновляться, а затем пользователь жалуется, что не может просматривать данные. Конечно, они могут увидеть это снова, как только они обновят страницу, но есть ли способ, с помощью которого я могу найти с помощью JQuery или Java Script, срок действия которых истек в FormsAuthentication cookie

  • 0
    Вы пытались просто использовать метод javascript setTimeout и написать короткую функцию в javascript, которая ищет статическую страницу дольше указанного времени?
Теги:
asp.net-mvc
forms-authentication

1 ответ

1

Конечно, они могут увидеть это снова, как только они обновят страницу, но есть ли способ, с помощью которого я могу найти с помощью JQuery или Java Script, срок действия которых истек в FormsAuthentication cookie

Да, ты можешь. Фил Хаак написал очень хорошее сообщение в блоге, в котором объяснялось, как можно запретить модуль проверки подлинности форм просто перенаправляться на страницу входа, но вместо этого вернуть код состояния 401, который может вызвать ваш клиентский вызов AJAX, и использовать window.location.href для ручной перенаправления на страница авторизации.

http://haacked.com/archive/2011/10/04/prevent-forms-authentication-login-page-redirect-when-you-donrsquot-want.aspx/

Он также написал NuGet под названием AspNetHaack который вы могли бы использовать, и если вам интересно просмотреть исходный код здесь: https://github.com/Haacked/CodeHaacks/tree/master/src/AspNetHaack

Ещё вопросы

Сообщество Overcoder
Наверх
Меню