【发布时间】:2014-07-18 15:23:44
【问题描述】:
在我的情况下,结束(杀死)cookie 的正确方法是什么:
- 当用户第一次连接到网站时,它会将他/她连接到 Index。
- 然后用户输入用户名和密码。
- 它连接到他的帐户(“_Layout.cshtml”以标题开头 - 标题有导航菜单,可以查看一些结果)。
- 现在!如果用户在不单击注销的情况下关闭此选项卡或关闭浏览器,则会发生以下情况:当用户再次连接到网站时,它会将他/她重定向到索引(登录表单在哪里)显示标题的布局。因此用户可以通过点击导航菜单再次导航到他/她的帐户 - 无需再次登录。
我想做什么,当用户关闭他的标签或浏览器时,cookie 会结束(或被杀死),所以它会自动注销用户。
到目前为止,我的登录控制器集中只有这个:
if(ModelState.IsValid)
...
FormsAuthentication.SetAuthCookie(user.Username, false);
对于注销我有这个:
public ActionResult LogOut()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Home");
}
在网络配置中我设置了这个:
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
:)
【问题讨论】:
-
对于关闭选项卡上的清除会话跟随-stackoverflow.com/questions/1921941/…,您也可以使用-Session.Clear();会话.Abandon();还要检查是否对使用什么感到困惑-stackoverflow.com/questions/347377/…
-
我认为 OP 希望在用户关闭浏览器时结束会话。
-
停止使用单词会话。登录未使用会话。它使用 cookie
-
Valamas - AUS 正确,当用户关闭该网站的浏览器或选项卡时,会话必须结束
-
user3036342 感谢您的建议,我会更正我的问题
标签: asp.net asp.net-mvc-4 session kill