首页 新闻 会员 周边

登陆一般都怎么做的

0
[已解决问题] 解决于 2012-08-31 16:39

用Session吧,方便,但不太可靠。 

用Cookid吧,如果用户直接关闭页面(或者其他的异常),而不点退出,也不会删除Cookie.

 

请问大家是怎么做的,有现成的例子或代码来克服上面两个不足的地方吗? 

不若相忘于江湖的主页 不若相忘于江湖 | 初学一级 | 园豆:51
提问于:2012-08-29 11:01
< >
分享
最佳答案
0

cookie 不二选择。不是持久cookie的话,关闭浏览器,cookie即可失效,持久的话,你可以设置一个时间,时间过后就失效了。

还在犹豫,不可能吧

奖励园豆:5
Qlin | 老鸟四级 |园豆:2403 | 2012-08-29 16:24
其他回答(4)
0

在progrom.cs中声明一个全局变量,在其他页面就行引用就行了~

Philomena | 园豆:154 (初学一级) | 2012-08-29 11:36
0

用Session使用的好,挺可靠的

jason2013 | 园豆:1998 (小虾三级) | 2012-08-29 11:37
2

http协议是无状态的,因此同一个用户的2次请求,对服务器来讲跟2次完全不相关的请求是一样的。在整个过程中能够留在用户终端上的只有cookie。平常说的session,只不过是服务器模拟出来的一套跟用户保持连接的效果而已,它本质上还是通过cookie把一些信息(例如sessionid)写回客户端,下次请求的时候,在服务器端把对应的信息读取出来,这样看起来用户是一直连接着的。你说的用户“直接关闭不点退出,也不会删除cookie”,这种说法是不对的,应该是不会立即删除cookie。就算你用网银,直接关闭浏览器后迅速再打开,也是不用再登录的,删除cookie会有一定的延迟,这与服务器端程序无关。因此,网站的登录都是通过cookie来实现的,大概流程是这样:(1)用户输入用户名密码,POST到服务器端 (2) 服务器验证,成功则设置一个cookie,这个cookie是加密过的用户标识(比如用户id)(3)以后每次请求,都解密这个cookie,这样就知道是哪个用户了。(4)如果用户选了“保持登录”,那么就把这个cookie的过期设置长一点,否则就是关闭浏览器之后不久被删除。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-08-29 12:52
1

用session+cookie

session保存一段时间,如果过期再去cookie找,当然cookie要加密的

田林九村 | 园豆:2367 (老鸟四级) | 2012-08-29 15:33

如果用户直接把全部的页面关了,没有点击退出, 那么下次他上来的时候就不用登陆了,有没有办法改,如果用户把全部的页面关了,下次进来时,还要登陆。 

支持(0) 反对(0) 不若相忘于江湖 | 园豆:51 (初学一级) | 2012-08-29 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册