Аутентификация форм ASP.Net - перейдите на страницу входа по таймауту - PullRequest
4 голосов
/ 02 марта 2012

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

Ответы [ 2 ]

5 голосов
/ 02 марта 2012

Вам необходимо проверить на стороне клиента, истек ли сеанс. Самый простой способ - просто запустить обратный отсчет (до истечения времени ожидания), используя javascript, когда страница загружена. Когда он истекает, отправьте пользователя на страницу входа. Или, может быть, лучше: просто дайте пользователю знать, что сеанс истек, потому что, возможно, он не будет слишком счастлив, если вы просто отправите его куда-нибудь. Хотя мое программное обеспечение для онлайн-банкинга делает именно это, но из соображений безопасности, конечно.

Вот очень простой пример: http://jsfiddle.net/39Sj6/1/

function sessionHasExpired(){
    if(confirm("Your session has expired. Do you want to go to the login page")){
        window.location = "http://google.com/?q=login";   
    }
}

var sessionTimeInMilliseconds = 1000*60*5; // here: 5 minutes
setTimeout(sessionHasExpired, sessionTimeInMilliseconds );

(В jsfiddle вы не будете перенаправлены на Google, так как это запрещено jsfiddle, но в принципе это будет работать)

1009 *

0 голосов
/ 02 марта 2012

Да, вы можете либо опросить состояние сеанса с помощью таймера Javascript и ajax-вызова, чтобы проверить состояние сеанса сервера, затем перенаправить на страницу входа в систему, либо вы можете установить таймер на указанное ограничение времени (20 мин. или тайм-аут сеанса), а затем перенаправить на страницу входа.

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