搜索

首页  >  问答  >  正文

javascript - 唯一登录 前端需要做什么处理

如果保证一个浏览器 只能登陆一个用户? 求教!!!

ringa_leeringa_lee2807 天前581

全部回复(4)我来回复

  • 怪我咯

    怪我咯2017-05-19 10:37:37

    你要实现的需求应该是唯一性登录。
    可以这么处理,请求登录接口,生成一个随机串,存入KV,设定过期时间。这个只会在登录时候触发,假设你的帐号为abc,此时随机串为123456,cache.set('user:abc', '123456')。之后的每次接口请求,都带着随机串,对比cache里面用户对应的随机串。如果随机串发生了改变。那么肯定已经有再登录过。就要强制下线。否则就再刷新随机串的过期时间。这个不影响效率,因为cache不会造成IO瓶颈。

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:37:37

    后端的cookie或者session应该能保证唯一用户吧,可以了解一下cookie和session会话。

    回复
    0
  • PHPz

    PHPz2017-05-19 10:37:37

    唯一登录,应该是靠后台的session来控制的,具体来说就是将登录者的id存在session会话中,比如session["user"],即在登录的时候后台设置 session["user"]=$loginUser( $loginUser是从前端拿到的登录的账号名变量,我这里以php为例子)这样就在该用户访问期间,一直对应着这个用户。如何换成另一个用户,session["user"]会变成另外一个用户的id,所以第一个用户的session会话就会中断了。这样就能保证一个浏览器只能同时登录一个用户了。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:37:37

    打开页面前,先检测浏览器本地是否存在本地COOKIE或localStorage,如果有,直接利用此信息自动登录。否则,弹出登录框,让其登录或匿名访问

    回复
    0
  • 取消回复