如果保证一个浏览器 只能登陆一个用户? 求教!!!
ringa_lee
你要实现的需求应该是唯一性登录。可以这么处理,请求登录接口,生成一个随机串,存入KV,设定过期时间。这个只会在登录时候触发,假设你的帐号为abc,此时随机串为123456,cache.set('user:abc', '123456')。之后的每次接口请求,都带着随机串,对比cache里面用户对应的随机串。如果随机串发生了改变。那么肯定已经有再登录过。就要强制下线。否则就再刷新随机串的过期时间。这个不影响效率,因为cache不会造成IO瓶颈。
后端的cookie或者session应该能保证唯一用户吧,可以了解一下cookie和session会话。
唯一登录,应该是靠后台的session来控制的,具体来说就是将登录者的id存在session会话中,比如session["user"],即在登录的时候后台设置 session["user"]=$loginUser( $loginUser是从前端拿到的登录的账号名变量,我这里以php为例子)这样就在该用户访问期间,一直对应着这个用户。如何换成另一个用户,session["user"]会变成另外一个用户的id,所以第一个用户的session会话就会中断了。这样就能保证一个浏览器只能同时登录一个用户了。
打开页面前,先检测浏览器本地是否存在本地COOKIE或localStorage,如果有,直接利用此信息自动登录。否则,弹出登录框,让其登录或匿名访问
你要实现的需求应该是唯一性登录。
可以这么处理,请求登录接口,生成一个随机串,存入KV,设定过期时间。这个只会在登录时候触发,假设你的帐号为abc,此时随机串为123456,cache.set('user:abc', '123456')。之后的每次接口请求,都带着随机串,对比cache里面用户对应的随机串。如果随机串发生了改变。那么肯定已经有再登录过。就要强制下线。否则就再刷新随机串的过期时间。这个不影响效率,因为cache不会造成IO瓶颈。
后端的cookie或者session应该能保证唯一用户吧,可以了解一下cookie和session会话。
唯一登录,应该是靠后台的session来控制的,具体来说就是将登录者的id存在session会话中,比如session["user"],即在登录的时候后台设置 session["user"]=$loginUser( $loginUser是从前端拿到的登录的账号名变量,我这里以php为例子)这样就在该用户访问期间,一直对应着这个用户。如何换成另一个用户,session["user"]会变成另外一个用户的id,所以第一个用户的session会话就会中断了。这样就能保证一个浏览器只能同时登录一个用户了。
打开页面前,先检测浏览器本地是否存在本地COOKIE或localStorage,如果有,直接利用此信息自动登录。否则,弹出登录框,让其登录或匿名访问