zoukankan      html  css  js  c++  java
  • sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登录

    sa-token是什么?

    sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/

    如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号
    同端互斥登录,指的就是像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线

    在sa-token中如何做到同端互斥登录?

    首先在配置文件中,将 allowConcurrentLogin 配置为false,然后调用登录等相关接口时声明设备标识即可:

    指定设备标识登录

    StpUtil.setLoginId(10001, "PC");	// 指定`账号id`和`设备标识`进行登录
    

    调用此方法登录后,同设备的会被顶下线(不同设备不受影响),再次访问系统时会抛出 NotLoginException 异常,场景值=-4

    指定设备标识强制注销

    StpUtil.logoutByLoginId(10001, "PC");	// 指定`账号id`和`设备标识`进行强制注销 (踢人下线)
    

    如果第二个参数填写null或不填,代表将这个账号id所有在线端踢下线,被踢出者再次访问系统时会抛出 NotLoginException 异常,场景值=-5

    查询当前登录的设备标识

    StpUtil.getLoginDevice();	// 指返回当前token的登录设备
    

    id反查token

    StpUtil.getTokenValueByLoginId(10001, "APP");	// 获取指定loginId指定设备端的tokenValue 
    
  • 相关阅读:
    ocilib(简介2)
    C++ Socket编程步骤 (转载)
    服务端和客户端的疑问
    var和public的区别
    vs2010如何设置能实现输入关键字的时候自动提示呢?
    ocilib(简介)
    iostream.h , iostream
    error C2110: cannot add two pointers
    Array 越界不报错的问题
    char* + int or char or ...
  • 原文地址:https://www.cnblogs.com/shengzhang/p/14243176.html
Copyright © 2011-2022 走看看