2013-08-06 6 views
0

в моем приложении, есть страница входа в систему, чтобы подтвердить учетную запись пользователя и пароль.Требовать пароль ввода, если сеанс idle

Будет улучшено то, что если пользователь нажмет на какую-либо конфиденциальную страницу, такую ​​как «Зарплата», «Личные данные» и т. Д., Она перенаправится на страницу, чтобы снова ввести пароль.

Чтобы избежать ввода пароля пользователя для каждой конфиденциальной страницы, я хочу создать сеанс, когда пользователь в первый раз щелкнет на конфиденциальной странице и введите правильный пароль. если время простоя менее 5 минут, им не нужно вводить пароль еще раз, даже если на другой конфиденциальной странице. в противном случае, если pc простаивает более 5 минут, он перенаправляется на страницу пароля ...

Как я могу создать сеанс для вышеуказанного подхода?

в web.config, она уже есть тайм-аут сеанса для целых приложений

<system.web> 
<sessionState timeout="240"></sessionState> 
</system.web> 

Могу ли я назначить другую sessionstate для этого подхода? Благодаря

ответ

1

Я бы рекомендовал хранить метку времени на величину самого Session, как это:

Session("ConfidentialPageAccess") = DateTime.Now 

Затем, когда вы хотите, чтобы проверить значение Session, вы можете сравнить значение, хранящееся на «сейчас» минус 5 минут, например:

Dim dateConfidentialPageAccess = TryCast(Session("ConfidentialPageAccess"), DateTime) 

If (dateConfidentialPageAccess - DateTime.Now).TotalMinutes > 5 Then 
    ' Redirect to login page 
End If 
+0

Отлично. спасибо за ваше предложение –

Смежные вопросы