我基本上做的是创建一个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%肯定如果用户从未登录过,它将拒绝用户。
答案 0 :(得分:0)
该行为由浏览器设置控制。您可以控制作者cookie何时到期,但现在何时从客户端计算机中删除。
一种策略是将Cookie设置为在每个请求的X分钟后到期。这样,如果用户在网站上处于非活动状态超过X分钟,他们将不得不再次登录。