2012-06-21 2 views
0

Когда пользователь регистрируется на моей странице входа, я аутентифицирую их с помощью FormsAuthentication и устанавливаю несколько сеансов, содержащих пользовательскую информацию, такую ​​как UserID и RoleID. Я установил контент сайта на основе этих значений.Сохранение сеанса при синхронизации с FormsAuthentication

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

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

Спасибо.

ответ

0

Когда сеанс закончился (Session_OnEnd) в global.asax, вы можете убить cookie проверки подлинности форм. Это приведет к перенаправлению пользователя на страницу по умолчанию (или страницу входа в систему в зависимости от того, как вы ее настроили) при любых последующих запросах. Вы также должны убить cookie аутентификации, когда пользователь выходил из системы вручную, - тот же эффект.

Чтобы убить куки аутентификации:

FormsAuthentication.SignOut(); 
+0

я получаю пустое исключение, когда я делаю это в Session_End случае. – Rivka

+0

Любые другие идеи? – Rivka

+0

Вы получаете нулевое исключение в сеансе? – Jeremy

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