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

我想做一个判断用户是否多次登陆的,如果用户登陆后又在别的地方登陆的话,就把前面登陆的干掉。请问该怎么做啊?
我想做一个判断用户是否多次登陆的,如果用户登陆后又在别的地方登陆的话,就把前面登陆的干掉。
请问要怎么做啊,关键是怎么把前面已经登陆的注销掉。
请教个位,谢谢了。

------解决方案--------------------

对啊!!
在用户表中多设个字段,默认值为0.
每次登陆时那个字段为0时,才可以登陆.
如果登陆了那个值再变为1
------解决方案--------------------
我想做一个判断用户是否多次登陆的,如果用户登陆后又在别的地方登陆的话,就把前面登陆的干掉。 
请问要怎么做啊,关键是怎么把前面已经登陆的注销掉。 
请教个位,谢谢了。
--------------------------------
这个是最别扭的功能,需要每隔一段时间刷新页面
还需要把session 和sessionid 存在临时表

因为相同用户登录的session是一样的只能根据sessionid来进行区别,sessionid存入数据库的时候还需要加入至少3位的随机数,防止sessinid有重复

还需要开启数据库代理,如果不开启代理在定期执行的页面 更新临时表,维护临时表
------解决方案--------------------
Hashtable hash = new Hashtable();//记录登录用户guid


在Login时:
hash[username]=Guid.NewGuid().ToString();
Cookie[username] = hash[username];


app_AuthenticateRequest事件里:
if (hash[username].ToString() != Cookie["guid"].Value)下发清除cookie指令。相当于注销了。

------解决方案--------------------
给你一个解决方法
数据库中增加一个表,三列,分别是用户标识,另一个记录会话的SessionID,登录时间
每个用户登录的时候,把登陆的用户标识和SESSIONID写入表中
当用户产生会话操作的时候检测表,看它登录后有没有相同的用户标识
如果有,那么SESSION.REMOVE(),同时删除表记录
可以在每个PAGE_LOAD调用一下这个检测
------解决方案--------------------
探讨

对啊!!
在用户表中多设个字段,默认值为0.
每次登陆时那个字段为0时,才可以登陆.
如果登陆了那个值再变为1