文章插图
身份认证和权限鉴别,是大多数系统都需要实现的逻辑 。从最简单的小型网站的用户登录,到极为庞大复杂的企业级用户权限控制,权限认证可以只是简单的判断查询,也可以是多种权限模型和身份验证方式的复杂混合 。
对于 JAVA 生态而言,权限认证早已是老生常谈,如 Shiro、Security 等的传统框架已是必经之路 。然而,有没有更为简洁、能写更少代码和配置、更为符合实际业务需求的框架呢?Sa-Token 或许是一个更好的选择 。
简介Sa-Token,是 click33 在 Github 上开源的轻量级 Java 权限认证框架,目前版本为 v1.15.2 。
Sa-Token 框架,主要解决的是:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题 。框架针对:踢人下线、自动续签、前后台分离、分布式会话等常见业务进行了适配,使开发者可以以一种极简的方式实现系统的权限认证逻辑 。
与其他 Java 权限认证框架相比,sa-token 具有以下优势:
- 简单 :可零配置启动框架,真正的开箱即用,低成本上手
- 强大:目前已集成几十项权限相关特性,涵盖了大部分业务场景的解决方案
- 易用:如丝般顺滑的 API 调用,大量高级特性统统只需一行代码即可实现
- 高扩展:几乎所有组件都提供了扩展接口,90% 以上的逻辑都可以按需重写
使用要在项目中使用 Sa-Token,可以通过 Maven 引入,在 pom.xml 中加入依赖:
<dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot-starter</artifactId><version>1.15.0.RELEASE</version></dependency>
也可以通过 Gradle 引入:implementation 'cn.dev33:sa-token-spring-boot-starter:1.15.0.RELEASE'
Sa-Token 功能强大,覆盖全面,包括:
- 登录验证 —— 轻松登录鉴权,并提供五种细分场景值
- 权限验证 —— 适配RBAC权限模型,不同角色不同授权
- Session会话 —— 专业的数据缓存中心
- 踢人下线 —— 将违规用户立刻清退下线
- 持久层扩展 —— 可集成redis、Memcached等专业缓存中间件,重启数据不丢失
- 分布式会话 —— 提供jwt集成和共享数据中心两种分布式会话方案
- 单点登录 —— 一处登录,处处通行
- 模拟他人账号 —— 实时操作任意用户状态数据
- 临时身份切换 —— 将会话身份临时切换为其它账号
- 无Cookie模式 —— App、小程序等前后台分离场景
- 同端互斥登录 —— 像QQ一样手机电脑同时在线,但是两个手机上互斥登录
- 多账号认证体系 —— 比如一个商城项目的user表和admin表分开鉴权
- 花式token生成 —— 内置六种token风格,还可自定义token生成策略
- 注解式鉴权 —— 优雅的将鉴权与业务代码分离
- 路由拦截式鉴权 —— 根据路由拦截鉴权,可适配restful模式
- 自动续签 —— 提供两种token过期策略,灵活搭配使用,还可自动续签
- 会话治理 —— 提供方便灵活的会话查询接口
- 记住我模式 —— 适配[记住我]模式,重启浏览器免验证
- 密码加密 —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
- 组件自动注入 —— 零配置与Spring等框架集成
// 标记当前会话登录的账号id // 建议的参数类型:long | int | String, 不可以传入复杂类型,如:User、Admin等等StpUtil.setLoginId(Object loginId);// 当前会话注销登录StpUtil.logout();// 获取当前会话是否已经登录,返回true=已登录,false=未登录StpUtil.isLogin();// 检验当前会话是否已经登录, 如果未登录,则抛出异常:`NotLoginException`StpUtil.checkLogin()
Sa-Token 还提供了可扩展性极强的权限验证实现 。Sa-Token 把【获取当前账号权限码集合】的操作以接口方式暴露,开发者只需实现 StpInterface 接口:
推荐阅读
- Chrome 浏览器测试版新增阅读清单功能,教你如何开启
- 肾功能不全吃什么蔬菜最好,肾功能不全吃什么好
- FANUC机器人示教编程:原始路径恢复功能介绍与使用方法
- locate命令-快速查找文件或目录
- 养生茶配方大全及功能,养生茶配方大全
- 短视频|彻底解放双眼!消息称抖音正测试“听视频”功能:锁屏也能继续播
- 车载广告机有哪些功能呢
- 红茶对卵巢功能的影响,红茶的禁忌
- 最全Tomcat入门指南
- 玉蝴蝶搭配什么泡水喝好,玉蝴蝶茶的功效和功能