日期:2014-05-18  浏览次数:20734 次

关于网站登录唯一性验证的问题
要实现登录的唯一性验证比如   A   用户登录后,别人无法再用   A   用户重复登陆(或者通知第一次登陆用户并强行下线),该如何实现。
我的做法是准备用session来实现!   请问有什么好的方法解决此事???


------解决方案--------------------
利用 Application 保存所有登录用户信息(usercode + verifycode),
Session保存单个登录用户信息
verifycode采用随机数
------解决方案--------------------
学习一下.
------解决方案--------------------
这个问题回答起来有点长
首先用户表中加个字段,未登录时为0,登录了就把登录的IP存入
当用户登录时把用户名存入session,再把这个字段更新为用户使用的机子IP
当用户点退出或session失效时就把这个字希更新为0
现在关键是怎么控制session失效,也就是用户关闭了浏览器或用户有段时间未操作时
那么就要做个session监听器了,详细怎么做请参考这个地址
http://community.csdn.net/Expert/topic/5267/5267215.xml?temp=.9871485
里面有我的回答
完成了这些用户就可以在别的机子登录时如果这个字段为0就直接登录,如果有IP则比较是否与本机IP相同,不相同则弹出是否强行登录的提示,如果强行登录则把IP存入这个字段,
这样当在第一台机子上操作时就检查IP是否与这个字段的IP值是否一样,不一样就清除session,然后弹出别人使用了这个用户名登录是否强行登录的提示。。。
不过这样会大理增加系统负担,建议还是当有用户登录时别的机子就不能登录好了

------解决方案--------------------
在数据库加个标志
登录时对这个标志做个判断一下,
不就可以达
------解决方案--------------------
不能用APPLICATION 会搞死人的
liaohaiying(小菜) 的方法好
------解决方案--------------------
这个问题我也烦恼啊,一直不知道解决,呵呵,学习一下