2009-04-29 4 views
3

Каков наилучший способ сохранить сеанс asp.net или asp.net mvc активным до тех пор, пока пользователь не выйдет из системы?Лучший способ сохранить сеанс ASP.Net Active

* Пользователь должен иметь возможность активировать сеанс, даже после того, как браузер или компьютер перезагружается ...

Другими словами, что это лучший способ реализовать ПОМНИТЕ МЕНЯ ...

ответ

2

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

Решение вашей проблемы, вероятно, заключается в том, чтобы восстановить сеанс пользователя в методе session_start в Global.asax.

2

Вы можете использовать поставщика членства для этой цели и установить файл куки в браузере пользователя и проверить его для проверки подлинности

2

Другая идея состоит в том, чтобы отправить Keep-Alive запрос в фоновом режиме через iframe/Ajax/тега изображения каждую минуту или так.

1

Лучший способ сделать это - использовать куки в вашей стратегии аутентификации, чтобы указать, что пользователь вошел в систему. Установите свой сайт для использования проверки подлинности форм и установите соответствующие атрибуты для использования файлов cookie. Это может быть сделано в файле Web.config:

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" 
     protection="All" 
     timeout="30" 
     name="AppNameCookie" 
     path="/FormsAuth" 
     requireSSL="false" 
     slidingExpiration="true" 
     defaultUrl="default.aspx" 
     cookieless="UseCookies" 
     enableCrossAppRedirects="false"/> 
</authentication> 

Для получения более подробной информации читайте это: How To: Use Membership in ASP.NET 2.0

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