Как очистить сеанс при выходе из системы
я перенаправляю пользователя на страницу входа, когда пользователь нажимает выход, однако я не думаю, что он очищает какое-либо приложение или сеанс, потому что все данные сохраняются, когда пользователь снова входит в систему.
В настоящее время страница входа имеет контроль входа в систему, и код позади на странице только подключен к аутентификации входа.
может ли кто-нибудь направить меня на хороший учебник или статью об обработке входа и выхода ASP.NET веб-сайты?
9 ответов:
Session.Abandon()
http://msdn.microsoft.com/en-us/library/ms524310.aspx
вот немного подробнее о
Я использую следующее, Чтобы очистить сеанс и очистить
aspnet_sessionID
:HttpContext.Current.Session.Clear(); HttpContext.Current.Session.Abandon(); HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
Я бы предпочел
Session.Abandon()
Session.Clear()
не приведет к срабатыванию End, и дальнейшие запросы от клиента не вызовут событие запуска сеанса.
Session.Abandon()
уничтожает сеанс иSession_OnEnd
событие срабатывает.
Session.Clear()
просто удаляет все значения (содержимое) из объекта. Элементsession with the same key
по-прежнемуalive
.если вы используете
Session.Abandon()
, вы потеряете эту конкретную сессию, и пользователь получитnew session key
. Вы можете использовать его, например, когда пользовательlogs out
.использовать
Session.Clear()
, Если вы хотите, чтобы пользователь оставался в том же сеансе (если вы не хотите, чтобы он перелогинился, например) и сбросил все его сессии конкретных данных.
выберите файл глобальные.асакс.cs в вашем проекте и добавьте следующий код.
protected void Application_BeginRequest() { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires(DateTime.Now.AddHours(-1)); Response.Cache.SetNoStore(); }
это сработало для меня..! Ссылка очистить сеанс при выходе из системы MVC 4
<script runat="server"> protected void Page_Load(object sender, System.EventArgs e) { Session["FavoriteSoftware"] = "Adobe ColdFusion"; Label1.Text = "Session read...<br />"; Label1.Text += "Favorite Software : " + Session["FavoriteSoftware"]; Label1.Text += "<br />SessionID : " + Session.SessionID; Label1.Text += "<br> Now clear the current session data."; Session.Clear(); Label1.Text += "<br /><br />SessionID : " + Session.SessionID; Label1.Text += "<br />Favorite Software[after clear]: " + Session["FavoriteSoftware"]; } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>asp.net session Clear example: how to clear the current session data (remove all the session items)</title> </head> <body> <form id="form1" runat="server"> <div> <h2 style="color:Teal">asp.net session example: Session Clear</h2> <asp:Label ID="Label1" runat="server" Font-Size="Large" ForeColor="DarkMagenta" > </asp:Label> </div> </form> </body> </html>