网站首页 > 精选教程 正文
简介
SaToken是一个轻量级的Java权限认证框架,目标是让鉴权变得简单、优雅。
其主要解决了登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权等一系列权限相关问题。
目前在Gitee上已经有了8.9K的star,足以可见大家对其的认可。
使用了SaToken以后,登录有多简单呢?
StpUtil.login(1001); //id为10001的用户登录
没错,一行代码就可以搞定登录了。
SaToken把很多功能都做了简化,尽量做到简单一行或者几行代码就可以帮大家完成日常的工作,并且将全局核心逻辑都封装到了SaStrategy类中,大家如果有定制化需求,只需重写其中的某个方法即可。
检查是否登录:
StpUtil.checkLogin();
踢人下线:
StpUtil.kickout(1001); //将id为1001的用户踢下线
权限认证:
// 注解鉴权: 检查当前用户是否具有add权限`user:add`
@SaCheckPermission("user:add")
public String insert(SysUser user) {
return "";
}
以下是Satoken支持的功能列表:
Springboot集成示例
1,添加依赖
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.33.0</version>
</dependency>
2,在application.yml增加配置
sa-token:
# token名称 (同时也是cookie名称)
token-name: satoken
# token有效期,单位s 默认30天, -1代表永不过期
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: true
# token风格
token-style: uuid
# 是否输出操作日志
is-log: false
3,添加SaInterceptor
@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {
// 注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**")
.excludePathPatterns("/user/doLogin");
}
}
经过以上3步,我们就可以使用SaToken进行相关的功能了。更多的功能细节大家可以去其官网查看,官方对每个功能细节都有详细的说明文档,上手十分容易。
官网地址:
https://sa-token.cc/doc.html#/
当然,以上只是SaToken的简单用法,现在我们很多项目都是前后台分离的,并且会有多台服务器构建集群,所以SaToken也提供了集成Redis等各种深入功能,大家根据其文档可以很轻松的集成到自己的项目中。
最后,借用其官网的一句话:当你受够 Shiro、SpringSecurity 等框架的三拜九叩之后,你就会明白,相对于这些传统老牌框架,Sa-Token 的 API 设计是多么的简单、优雅!
我是@程序员拾山,欢迎关注我,期待与大家一起学习成长,也感谢您的点赞和关注。
猜你喜欢
- 2024-11-26 关于大后台的权限管理设计
- 2024-11-26 基于Springboot的权限管理系统
- 2024-11-26 Sa-Token,让你的权限认证更简单
- 2024-11-26 Sa-Token之注解鉴权:优雅的将鉴权与业务代码分离
- 2024-11-26 Shiro 权限校验分析
- 2024-11-26 给女朋友讲某宝是如何设计用户权限管理的(一)
- 2024-11-26 基于SpringBoot 的MCMS系统,完全开源,直接商用太爽了
- 2024-11-26 再见前端!纯 Java 撸个后台管理系统,这框架用起来贼爽
- 2024-11-26 AOP编程_Android优雅权限框架(2)Demo完全解析
- 2024-11-26 6个顶级SpringCloud微服务开源项目,企业开发必备
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)