用Session吧,方便,但不太可靠。
用Cookid吧,如果用户直接关闭页面(或者其他的异常),而不点退出,也不会删除Cookie.
请问大家是怎么做的,有现成的例子或代码来克服上面两个不足的地方吗?
cookie 不二选择。不是持久cookie的话,关闭浏览器,cookie即可失效,持久的话,你可以设置一个时间,时间过后就失效了。
还在犹豫,不可能吧
在progrom.cs中声明一个全局变量,在其他页面就行引用就行了~
用Session使用的好,挺可靠的
http协议是无状态的,因此同一个用户的2次请求,对服务器来讲跟2次完全不相关的请求是一样的。在整个过程中能够留在用户终端上的只有cookie。平常说的session,只不过是服务器模拟出来的一套跟用户保持连接的效果而已,它本质上还是通过cookie把一些信息(例如sessionid)写回客户端,下次请求的时候,在服务器端把对应的信息读取出来,这样看起来用户是一直连接着的。你说的用户“直接关闭不点退出,也不会删除cookie”,这种说法是不对的,应该是不会立即删除cookie。就算你用网银,直接关闭浏览器后迅速再打开,也是不用再登录的,删除cookie会有一定的延迟,这与服务器端程序无关。因此,网站的登录都是通过cookie来实现的,大概流程是这样:(1)用户输入用户名密码,POST到服务器端 (2) 服务器验证,成功则设置一个cookie,这个cookie是加密过的用户标识(比如用户id)(3)以后每次请求,都解密这个cookie,这样就知道是哪个用户了。(4)如果用户选了“保持登录”,那么就把这个cookie的过期设置长一点,否则就是关闭浏览器之后不久被删除。
用session+cookie
session保存一段时间,如果过期再去cookie找,当然cookie要加密的
如果用户直接把全部的页面关了,没有点击退出, 那么下次他上来的时候就不用登陆了,有没有办法改,如果用户把全部的页面关了,下次进来时,还要登陆。