浏览器关闭后,Asp.Net Cookie仍然存在

时间:2013-04-12 17:19:31

标签: asp.net cookies iis-7 asp.net-4.0

我基本上做的是创建一个cookie并使用表单身份验证。

这就是我用来创建cookie的方法。

            Session.Add("username", userName);
            Session.Add("password", passWord);

            FormsAuthenticationTicket tkt;
            string cookiestr;
            HttpCookie ck;
            tkt = new FormsAuthenticationTicket(1, userName, DateTime.Now,
            DateTime.Now.AddMinutes(1), false, "your custom data");
            cookiestr = FormsAuthentication.Encrypt(tkt);
            ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
            ck.Path = FormsAuthentication.FormsCookiePath;
            Response.Cookies.Add(ck);`

因为我登录的是安全的东西,我想要发生的事情是当浏览器关闭以删除该网站创建的cookie时。但是,这不会发生,我可以登录我网站的安全部分。

我错过了什么?

基本上如果我登录/secure/secure.aspx然后关闭我的浏览器,我可以输入www.myaddress.com/secure/secure.aspx并且我将登录。我100%肯定如果用户从未登录过,它将拒绝用户。

1 个答案:

答案 0 :(得分:0)

该行为由浏览器设置控制。您可以控制作者cookie何时到期,但现在何时从客户端计算机中删除。

一种策略是将Cookie设置为在每个请求的X分钟后到期。这样,如果用户在网站上处于非活动状态超过X分钟,他们将不得不再次登录。