Session 注销用户';密码更改后,s全球所有会话

Session 注销用户';密码更改后,s全球所有会话,session,architecture,session-cookies,logout,simple-authentication,Session,Architecture,Session Cookies,Logout,Simple Authentication,问题陈述:假设我有一个具有凭据的用户 用户名:Admin 密码:Admin@123 有3个人正在使用这些凭据。一个是澳大利亚、印度、荷兰 要求:如果坐在荷兰的人更改密码,我希望其他人注销。i、 e澳大利亚和印度的家伙应该自动注销 我在理论上寻找一个高层次的解决方案,这样我就可以自己实现它了。基本方向或架构将受到欢迎。我认为这很容易实现: 如果您使用的是基于会话的身份验证,则表示会话存储在服务器端;每次密码更改都可以轻松清除所有会话。取决于存储这些会话的位置(例如,在数据库的表中) 如果您使用基于

问题陈述:假设我有一个具有凭据的用户 用户名:Admin 密码:Admin@123

有3个人正在使用这些凭据。一个是澳大利亚、印度、荷兰

要求:如果坐在荷兰的人更改密码,我希望其他人注销。i、 e澳大利亚和印度的家伙应该自动注销


我在理论上寻找一个高层次的解决方案,这样我就可以自己实现它了。基本方向或架构将受到欢迎。

我认为这很容易实现:

  • 如果您使用的是基于会话的身份验证,则表示会话存储在服务器端;每次密码更改都可以轻松清除所有会话。取决于存储这些会话的位置(例如,在数据库的表中)
  • 如果您使用基于令牌的身份验证,例如使用JWT, 这意味着会话不会存储在服务器端,令牌也不会被持有 用户是自我约束的,这意味着他们拥有你想要的一切 需要知道给定用户的身份。对于每一个请求, 将读取授权标头中发送的令牌(您可以 检索用户标识),然后根据 服务器端;也就是说,如果你想注销所有用户, 只要在密码更改时更改该密钥即可。将来,使用旧密钥签名的每个令牌(在用户x更改其密码之前)都将被拒绝,所有用户都必须重新登录