问题描述
本人愚昧这个问题困扰我好久了!进入正题。。。1.在Session开始时,也就是第一次成功登录时,给Session值,同时,把这个值添加到Application中。2.把所有登录的账号都存在Application中,用它来判断相应的账号是否已经存在,也就是说是否已经登录过了。到这里,第1步,第一次登录的时候就得加点东西,得判断一下Application中有没有这个账号,如果有,那么就提示不能登录;如果没有,那么就给Session值,同时,把这个值加到Application中去。3.当然,只是在Application中加东西,不清除它可是不行的,这样的话一个用户只能登录一次了,要想下一次登录就得重起一下Server了,在什么时候清除它呢,当用户退出的时候,对,当用户退出时,清除Session,这样会触发Global.asax中的Session_End事件,在这个事件中清除登录的账号。这样,用户退出时,清除,登录时,先判断,后确定能不能登录,并确定是否添加进Application。一个完美的计划产生了,不过,事情往往不是想得这样简单的。问题出来了如果是用户乖乖的点击了“退出”按钮还好说,可是关闭一个页面可是有好多方法哦,,就是怎么合理的控制Session,最好是当用户关闭浏览器的“X”时也可以结束session?我在其他网站上看到说是可以用ajax无刷新技术,即给定session周期为1分钟,用ajax技术一分钟刷新一次,这样关闭浏览器的话也不会等很长时间,不知道这种方案可去不,请高手指点指点啊,我的邮箱是xqk_2006@163.com最好有个简单的例子发给俺看一下,谢谢了~~~~~~,一定给分啊!!!!!!!!!!!!!!!
解决方案
解决方案二:
该回复于2008-04-08 09:49:46被版主删除
解决方案三:
该回复于2008-11-26 10:35:32被版主删除
解决方案四:
我也为这个问题困绕很久了.关注
解决方案五:
同时保存SESSIONID和SESSION值不知道能否达到你的需求。每次请求都判断一下
解决方案六:
楼上2个的广告...里面都没有单点登录啊
解决方案七:
这个,没找到原文,参考一下http://blog.tianya.cn/blogger/post_show.asp?BlogID=711689&PostID=7465754
解决方案八:
转分
解决方案九:
直接用session在登录的时候给个唯一的值比如用户名,设置他的session.Timeout(X);让他在一定的时间短清楚session中的值,应该可以吧
解决方案十:
怎么也没人说个明白啊,这个问题应该是做过一个完整项目的程序员都应该知道吧???没有高手?????