我想做一个判断用户是否多次登陆的,如果用户登陆后又在别的地方登陆的话,就把前面登陆的干掉。请问该怎么做啊?
我想做一个判断用户是否多次登陆的,如果用户登陆后又在别的地方登陆的话,就把前面登陆的干掉。
请问要怎么做啊,关键是怎么把前面已经登陆的注销掉。
请教个位,谢谢了。
------解决方案--------------------对啊!!
在用户表中多设个字段,默认值为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调用一下这个检测
------解决方案--------------------