受够了 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); // 将当前会话身份临时切换为其它账号
希望各位给点指导意见 嘿嘿 >_<
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.