V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
konglizhi3362
V2EX  ›  分享创造

一个超级超级简单的 Java 权限认证框架,一行代码搞定登录授权!

  •  1
     
  •   konglizhi3362 · 2021-02-26 18:38:32 +08:00 · 2708 次点击
    这是一个创建于 1362 天前的主题,其中的信息可能已经有所发展或是发生改变。

    受够了 shiro 、Spring Security 等权限认证框架的啰嗦,每次使用都要实现各种接口,然后封装一堆XxxUtil来简化 API 调用,于是借着假期,自己实现了一个权限认证框架——sa-token

    如题,在 sa-token 完成登录授权,只需一行代码

    // 在用户账号密码验证成功后,直接调用以下 API 进行登录授权
    StpUtil.setLoginId(10001); 
    

    不需要自定义 Realm !不需要全局过滤器!不需要写各种配置文件!

    就这一行代码!就可以完成会话的登录授权!

    如果你受够了 Shiro 、Security 等框架的三拜九叩,可以来尝试一下 sa-token 呦,>_<

    除了以上的登录授权,sa-token 还可以一行代码完成以下功能:

    StpUtil.setLoginId(10001);                // 标记当前会话登录的账号 id
    StpUtil.getLoginId();                     // 获取当前会话登录的账号 id
    StpUtil.isLogin();                        // 获取当前会话是否已经登录, 返回 true 或 false
    StpUtil.logout();                         // 当前会话注销登录
    StpUtil.logoutByLoginId(10001);           // 让账号为 10001 的会话注销登录(踢人下线)
    StpUtil.hasRole("super-admin");           // 查询当前账号是否含有指定角色标识, 返回 true 或 false
    StpUtil.hasPermission("user:add");        // 查询当前账号是否含有指定权限, 返回 true 或 false
    StpUtil.getSession();                     // 获取当前账号 id 的 Session
    StpUtil.getSessionByLoginId(10001);       // 获取账号 id 为 10001 的 Session
    StpUtil.getTokenValueByLoginId(10001);    // 获取账号 id 为 10001 的 token 令牌值
    StpUtil.setLoginId(10001, "PC");          // 指定设备标识登录
    StpUtil.logoutByLoginId(10001, "PC");     // 指定设备标识进行强制注销 (不同端不受影响)
    StpUtil.switchTo(10044);                  // 将当前会话身份临时切换为其它账号
    

    希望各位给点指导意见 嘿嘿 >_<



    2 条回复    2021-02-27 13:08:32 +08:00
    jaylee4869
        1
    jaylee4869  
       2021-02-26 19:09:56 +08:00
    测试呢? CI 呢?
    siweipancc
        2
    siweipancc  
       2021-02-27 13:08:32 +08:00 via iPhone
    过度设计的产物……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.