2015-12-14 2 views
0

В рамках нашего аудита безопасности мы должны убедиться, что когда пользователь выходит из системы, мы очищаем идентификатор сеанса (а не только сеанс) и используем новый идентификатор сеанса.Можно ли определить тайм-аут сеанса?

Однако в настоящее время, если сеанс пользователя просто отключается, идентификатор сеанса повторно используется для следующего сеанса.

Есть ли способ определить, завершился ли сеанс и создать новый идентификатор сеанса в это время?

+0

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

ответ

0

Существует этот метод: http://www.codeproject.com/Articles/21156/ASP-NET-HttpModule-for-handling-session-end-with-S

Но это не работает в нашем случае, так как мы используем ферму серверов.

Вместо этого я закончил использование NWebsec.SessionSecurity (https://www.nuget.org/packages/NWebsec.SessionSecurity/), и он обработал все это из коробки.

2

Вот статья о повторном вызове ID ID https://support.microsoft.com/en-us/kb/899918.

Добавление этого кода либо выхода из системы или Session_End методов

Session.Abandon(); 
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 

И в Web.config

<sessionState regenerateExpiredSessionId="true"></sessionState> 

Я не имел необходимости в этом, однако, похоже, это в по крайней мере, хорошая отправная точка для вас.

+0

Спасибо, но это на самом деле не отвечает на мой вопрос. – user145400

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