项目当中有时有防止重复登陆的问题。
1 ,当下一个用户登陆时 ,提示该用户登陆已经登陆 ,您不能再次登陆。
思路1, 试图登陆的时候 检查是否存在session 。如果没有,保存session ,成功登陆 。
如果已经存在session, 提示用户已经登陆,不允许再登陆 。
问题来了,正常退出当然可以清空session。如果是关闭浏览器或其他炒作,导致session依然存在 ,如何解决?
关闭浏览器 ,session是否依然存在的问题?
思路2 , 在数据库建立一个字段,记录用户的登陆状态 。每次用户登陆的时候检查状态。 如果在线,不允许登陆。
如何判断用户已经下线?
思路: 是否可以监听所有用户ip,同时保存对应session(sessionid 和用户名),一旦用户断开连接,则清空session ,从数据库更新用户状态。