Время ожидания сеанса пользователя - PullRequest
0 голосов
/ 12 октября 2010

Я хочу, чтобы мое приложение вышло из системы вошедшего в систему пользователя и перенесло его на страницу Loing.aspx, как только истечет время сеанса.Пользователь должен выйти из системы без какого-либо события.Я попытался внести изменения в режиме аутентификации, но все тщетно ...

Ответы [ 3 ]

1 голос
/ 12 октября 2010

Если ваша аутентификация форм настроена правильно ( Как упомянуто здесь ), и учитывая, что вы в любом случае не хотите перехватывать какие-либо события по тайм-ауту сеанса, то в идеале, если пользователь неактивен в течение 20 минут (что это время ожидания сеанса по умолчанию, если вы не изменили его), приложение автоматически перенаправит любой следующий запрос в Login.aspx. Но убедитесь, что вы выполнили все шаги, указанные в приведенной выше ссылке (в основном правильный тег аутентификации и авторизации и т. Д.).

1 голос
/ 12 октября 2010

Веб-формы не похожи на Windows Forms, но вы можете немного поиграть с ними.

Вы не можете перехватить событие Session.End и перенаправить пользователя в другое место, но вы можете играть с куки-файлами,Сессии истекают, срок действия файлов cookie контролируется вашим кодом.

Первое, что приходит мне в голову, это установить cookie после входа в систему, а затем при каждой загрузке страницы проверять

if (cookie is present && Session["LoggedIn"]==null)
    Response.Redirect("Login.aspx");

Этоэто грубый рукописный псевдокод, который может помочь вам составить идею.

Но возникает другой вопрос: если вы находитесь в защищенной области, и сеанс истекает, ASP.NET, , как только вы настроилиПроверка подлинности автоматически приведет вас на страницу входа в систему.

Под «настройкой» я подразумеваю выполнение всей стандартной процедуры для создания защищенных областей в вашем веб-приложении и использование проверки подлинности с помощью форм: RTFM для этого http://www.asp.net/security/tutorials/an-overview-of-forms-authentication-vb

0 голосов
/ 13 октября 2010

Попробуйте добавить следующий тег под <system.web> в web.config

<sessionState mode="InProc" timeout="200"></sessionState>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...