asp.net项目中怎么防止多用户同时登录同一个帐号,就类似QQ一样,一个帐号同一时间只能登录一次。要考虑用户非正常退出,比如直接关闭浏览器,浏览器异常关闭,电脑断电等情况。
数据裤里面多个是否登录的列!登陆了就为True 否则False
?????
@简单的@快乐: 他是说在用户表加一个字段,isLogin 如果登录了就为true,否则为false.但我感觉风险蛮大的。如果内存的session和数据库不同步,比如一个人数据库标记为true,但他又没登录。那他就被挡在外面了。不同步的原因可能是1没有处理好服务器开关机2系统崩溃了。
后一个登录总是把前一个登录踢出;
对
我想在用户信息里增加是否登录的标识,用户登录时判断是否已经登录,如果已经登录了,就不许再登录,对了还有记录最后登录的地点(在不小心关闭浏览器情况下,这时候还没有退出,再登录应该是可以的,不用判断标识)。不正常退出的情况下,当Global.asax里的Session_End事件执行的时候,把标识更新成未登录就好了。
服务器端记录在线用户Id,然后用户登录时校对!
保存在缓存中,客户端设置session。缓存对所有用户都可以访问,session设置一个有效期。这个方式比数据库好一点吧
简单点 把数据缓存到Application 登录的时候判断用户是否在Application 里面
还要把每次登录时间考虑进去啊
1:用户登陆-》产生一个随机Key(服务器维护一个字典[id,key])-》同时输出key到客户端Cookie
每次用户访问页面,检测是否登陆时,都判断key是否和服务器的相同。
2:请看1.
禁用cookie怎么办?
@张小千:没浏览器怎么办?电脑不开机怎么办?家里没电怎么办?---想太多了~~~哥们~~~
@路过秋天: 不是我想多了,是你没有想到
@张小千: 还是你厉害些。
@张小千: 禁用cookie的用户马上滚粗呗,压根不让登录呗。现在有禁用了cookie还能用的系统吗?
@路过秋天: 确实厉害啊。。。大神果然低调。。
你的这个问题,其实你仔细想想你自己都可以决绝的.
好的,谢谢 ,太感谢了