首页 新闻 会员 周边

如何写用户登录的代码?

0
悬赏园豆:5 [已解决问题] 解决于 2009-08-14 13:19

需求是:用户输入用户名、密码,验证通过后,用一个变量保存用户的id(方便程序识别登录人), 在用户不关闭ie的情况下,任何长时间内都不需要重新登录验证;一旦用户关闭浏览器,则无论时间长短,都需要重新登录验证;

 

我用cookie是这样写的,但只能限定时间是否需要登录,不能满足上面需求

DateTime ticketExpires = DateTime.Now.AddHours(10);
                        DateTime cookieExpires = DateTime.Now.AddHours(10);
                        FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, su.id.ToString(), DateTime.Now, ticketExpires,
                            false, string.Empty, "/");
                        string HashTicket = FormsAuthentication.Encrypt(Ticket);
                        HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);
                        myCookie.Expires = cookieExpires; //这是Cookie的有效日期,与前面Ticket的有效日期是不同的概念
                        Response.Cookies.Add(myCookie);

tttttt的主页 tttttt | 初学一级 | 园豆:7
提问于:2009-08-12 15:09
< >
分享
最佳答案
0

不用设置Expires,关闭就失效

收获园豆:5
红尘中迷茫 | 初学一级 |园豆:60 | 2009-08-13 10:57
其他回答(2)
0

把登录的名的密码写到一个文件里,关闭IE就把文件里的内容清空。

一点点想法,不知道行得通不。

Annie | 园豆:396 (菜鸟二级) | 2009-08-12 16:27
0

你可以在Response.Cookies.Add(myCookie);这句话之前设置myCookie的Expires =DateTime.MinValue  这样就是设置cookie
的过期是会话期间完就失效,就是浏览器关闭cookie就失效

MicroCoder | 园豆:554 (小虾三级) | 2009-08-12 22:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册