V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cccy0
V2EX  ›  程序员

数据库删除一名用户之后, 如何让这名用户强制退出呢?

  •  
  •   cccy0 · 2019-10-24 19:39:37 +08:00 · 3673 次点击
    这是一个创建于 1617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    或者有木有什么办法直接找到对应的 session?

    用的 spring security

    12 条回复    2019-10-25 11:11:03 +08:00
    ranleng
        1
    ranleng  
       2019-10-24 19:40:58 +08:00 via Android   ❤️ 1
    删除之后直接把 token 失效?
    95aluo
        2
    95aluo  
       2019-10-24 21:53:47 +08:00
    能不能用类似事件监听的机制呢?比如 mqtt 推个用户被删除的消息给前端,前端再做处理;同理也可以通知其他订阅此消息的服务,做出删除用户数据或使用户相关进一步操作无法进行
    a62527776a
        3
    a62527776a  
       2019-10-24 21:56:31 +08:00 via Android
    Token 存下来 然后把这个用户的 token 删光
    Volio
        4
    Volio  
       2019-10-24 22:06:16 +08:00
    Security 可以用 SpringSessionBackedSessionRegistry,然后使用 sessionRegistry 的 getAllSessions 方法就可以拿到这个用户的全部 session
    StevenTong
        5
    StevenTong  
       2019-10-24 22:07:02 +08:00
    用的啥 TokenStrore ? TokenStore 还是 tokenService 来着有 revokeToken 的功能啊,直接调用就好了,但是具体实现还是看 tokenStore 的实现。一般用 RedisTokenStore
    MonoLogueChi
        6
    MonoLogueChi  
       2019-10-24 23:56:09 +08:00 via Android
    看你的 session 怎么保存的,验证逻辑是怎么样的
    opengps
        7
    opengps  
       2019-10-25 00:07:36 +08:00 via Android
    楼上以及楼主是不是考虑错了顺序,应当是先清空 token 再删除数据更合理吧
    vimpreal
        8
    vimpreal  
       2019-10-25 00:08:57 +08:00 via Android
    刚刚发现,原来此网站的网友拿了不明人士给的我家网络地址,来黑掉我家电脑。
    cccy0
        9
    cccy0  
    OP
       2019-10-25 00:26:52 +08:00
    @Volio #4 好的我试试去
    chinvo
        10
    chinvo  
       2019-10-25 00:30:47 +08:00 via iPhone
    刷新页面重新验证用户登录状态不是常识么

    stateless 的 API 请求进来验证完 token 也要去取用户数据啊,取不到就 401
    Real00
        11
    Real00  
       2019-10-25 09:17:40 +08:00
    删除用户下一步通过 websocket 通知前端登出
    noobcoder1
        12
    noobcoder1  
       2019-10-25 11:11:03 +08:00
    你的 token 回来不查解码查用户的么 哈哈哈哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1369 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:39 · PVG 01:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.