cookie/session/token能实现单设备登录吗?

session 是基于 hashmap 每次登录生成的 sessionid 都不一样,如果要实现单设备登录,目前我只能想到

  1. 在缓存中或数据库中增加一个标志位,通过session中的标志位比较判断,但这样失去了使用 session 的初衷
  2. 用 websoket 通知另一端
阅读 2.8k
1 个回答

你是想只允许单设备登录有效吧,在后设备登录时,让前面登录的都失效。

这从场景逻辑上来讲大致如下:

  1. A设备上用户已经登录了,获取了一个token类的东西,所有操作和检查这个token是有效的
  2. B设备上,同样的用户登录成功,这时又获取了一个新的token,并让老大token失效
  3. 这样如果应用场景中,有token心跳验证或者一些通知机制,很快A上的登录就会因为token失效被踢出应用,并提示是因为另外设备登录造成的

在这样的应用和逻辑中,每个时间一个用户只能获取一个token类的东西,表示是登录有效用户。

推荐问题