2

I have designed a MVC Form and would like to end the session when user closes the browser and if re-open the browser, then has to log in again!

I don't know if I have to end session or clear cookies and if so, how should i do it. Will you help me to find my answer...

Thank you!

4

3 回答 3

3

您可以使用:

function del_cookie(name) {
    document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
<body onload="SetCookie()" onunload="del_cookie()">

来源这里

尝试自己修改

于 2013-11-06T09:36:11.037 回答
3

如果您使用In-Proc会话模式,在这种情况下,您可以在 global.asax 文件中获取会话超时事件。因此,如果您正在创建 Cookie 和其他用户特定的存根,您可以使用此事件清除这些东西。

在 Global.asax.cs

    protected void Session_End(object sender, EventArgs e)
{
   //Clean-up Code
}

Out-Proc模式的情况下,您将永远不会收到会话超时事件。

正如汤米所说,没有万无一失的方法来确定是否有人关闭了浏览器,但是您可以通过 Jquery 来完成。您需要以特定的时间间隔 ping 您的服务器。因此,当您在特定时间后停止从客户端获取任何内容时,您可以执行清理操作(与会话超时相同)

于 2013-11-06T09:33:55.313 回答
1

你可以试试 。在浏览器关闭或页面加载事件中从 javascript 中删除 cookie 或在浏览器关闭事件(或页面卸载事件)上调用服务器并清除服务器上的会话。

于 2013-11-06T10:44:04.857 回答