mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 08:37:21 +08:00
v1.17.0 更新
This commit is contained in:
parent
87b524201a
commit
f1104b6a43
@ -1,7 +1,7 @@
|
||||
<p align="center">
|
||||
<img alt="logo" src="https://gitee.com/dromara/sa-token/raw/master/sa-token-doc/doc/logo.png" width="150" height="150">
|
||||
</p>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.16.0</h1>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.17.0</h1>
|
||||
<h4 align="center">这可能是史上功能最全的 Java 权限认证框架!</h4>
|
||||
<h4 align="center">
|
||||
<a href="https://gitee.com/dromara/sa-token/stargazers"><img src="https://gitee.com/dromara/sa-token/badge/star.svg"></a>
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
|
||||
## Sa-Token是什么?
|
||||
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题
|
||||
Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题
|
||||
|
||||
框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系统的权限认证部分
|
||||
|
||||
@ -42,7 +42,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
||||
|
||||
## Sa-Token 能做什么?
|
||||
|
||||

|
||||

|
||||
|
||||
- **登录验证** —— 轻松登录鉴权,并提供五种细分场景值
|
||||
- **权限验证** —— 适配RBAC权限模型,不同角色不同授权
|
||||
@ -65,6 +65,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
||||
- **会话治理** —— 提供方便灵活的会话查询接口
|
||||
- **记住我模式** —— 适配[记住我]模式,重启浏览器免验证
|
||||
- **密码加密** —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
|
||||
- **全局侦听器** —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作
|
||||
- **开箱即用** —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用
|
||||
- **更多功能正在集成中...** —— 如有您有好想法或者建议,欢迎加群交流
|
||||
|
||||
|
28
mvn clean.bat
Normal file
28
mvn clean.bat
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
call mvn clean
|
||||
|
||||
cd sa-token-demo-jwt
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-springboot
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-webflux
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-oauth2\sa-token-demo-oauth2-client
|
||||
call mvn clean
|
||||
cd ../..
|
||||
|
||||
cd sa-token-demo-oauth2\sa-token-demo-oauth2-server
|
||||
call mvn clean
|
||||
cd ../..
|
||||
|
||||
echo;
|
||||
echo;
|
||||
echo ----------- clean end -----------
|
||||
echo;
|
||||
pause
|
4
pom.xml
4
pom.xml
@ -8,7 +8,7 @@
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
|
||||
<!-- 项目介绍 -->
|
||||
<name>sa-token</name>
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
<!-- 一些属性 -->
|
||||
<properties>
|
||||
<sa-token-version>1.16.0.RELEASE</sa-token-version>
|
||||
<sa-token-version>1.17.0</sa-token-version>
|
||||
<jdk.version>1.8</jdk.version>
|
||||
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>utf-8</project.reporting.outputEncoding>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -37,7 +37,6 @@ public class SaTokenManager {
|
||||
}
|
||||
public static SaTokenConfig getConfig() {
|
||||
if (config == null) {
|
||||
// 如果对象为空,则使用框架默认方式初始化
|
||||
synchronized (SaTokenManager.class) {
|
||||
if (config == null) {
|
||||
setConfig(SaTokenConfigFactory.createConfig());
|
||||
@ -59,7 +58,6 @@ public class SaTokenManager {
|
||||
}
|
||||
public static SaTokenDao getSaTokenDao() {
|
||||
if (saTokenDao == null) {
|
||||
// 如果对象为空,则使用框架默认方式初始化
|
||||
synchronized (SaTokenManager.class) {
|
||||
if (saTokenDao == null) {
|
||||
setSaTokenDao(new SaTokenDaoDefaultImpl());
|
||||
@ -78,7 +76,6 @@ public class SaTokenManager {
|
||||
}
|
||||
public static StpInterface getStpInterface() {
|
||||
if (stpInterface == null) {
|
||||
// 如果对象为空,则使用框架默认方式初始化
|
||||
synchronized (SaTokenManager.class) {
|
||||
if (stpInterface == null) {
|
||||
setStpInterface(new StpInterfaceDefaultImpl());
|
||||
@ -97,7 +94,6 @@ public class SaTokenManager {
|
||||
}
|
||||
public static SaTokenAction getSaTokenAction() {
|
||||
if (saTokenAction == null) {
|
||||
// 如果对象为空,则使用框架默认方式初始化
|
||||
synchronized (SaTokenManager.class) {
|
||||
if (saTokenAction == null) {
|
||||
setSaTokenAction(new SaTokenActionDefaultImpl());
|
||||
@ -116,7 +112,6 @@ public class SaTokenManager {
|
||||
}
|
||||
public static SaTokenContext getSaTokenContext() {
|
||||
if (saTokenContext == null) {
|
||||
// 如果对象为空,则使用框架默认方式初始化
|
||||
synchronized (SaTokenManager.class) {
|
||||
if (saTokenContext == null) {
|
||||
setSaTokenContext(new SaTokenContextDefaultImpl());
|
||||
@ -127,7 +122,7 @@ public class SaTokenManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听器 Bean
|
||||
* 侦听器 Bean
|
||||
*/
|
||||
private static SaTokenListener saTokenListener;
|
||||
public static void setSaTokenListener(SaTokenListener saTokenListener) {
|
||||
|
@ -11,10 +11,10 @@ import cn.dev33.satoken.session.SaSession;
|
||||
public interface SaTokenDao {
|
||||
|
||||
/** 常量,表示一个key永不过期 (在一个key被标注为永远不过期时返回此值) */
|
||||
public static final Long NEVER_EXPIRE = -1L;
|
||||
public static final long NEVER_EXPIRE = -1;
|
||||
|
||||
/** 常量,表示系统中不存在这个缓存 (在对不存在的key获取剩余存活时间时返回此值) */
|
||||
public static final Long NOT_VALUE_EXPIRE = -2L;
|
||||
public static final long NOT_VALUE_EXPIRE = -2;
|
||||
|
||||
|
||||
// --------------------- token相关 ---------------------
|
||||
|
@ -3,7 +3,7 @@ package cn.dev33.satoken.listener;
|
||||
import cn.dev33.satoken.stp.SaLoginModel;
|
||||
|
||||
/**
|
||||
* Sa-Token的监听器
|
||||
* Sa-Token的侦听器
|
||||
* <p> 你可以通过实现此接口在用户登陆、退出等关键性操作时进行一些AOP操作
|
||||
* @author kong
|
||||
*
|
||||
|
@ -7,7 +7,7 @@ import cn.dev33.satoken.stp.SaLoginModel;
|
||||
import cn.dev33.satoken.util.SaTokenInsideUtil;
|
||||
|
||||
/**
|
||||
* Sa-Token 监听器的默认实现:log打印
|
||||
* Sa-Token 侦听器的默认实现:log打印
|
||||
* @author kong
|
||||
*
|
||||
*/
|
||||
|
@ -13,7 +13,7 @@ public class SaTokenConsts {
|
||||
/**
|
||||
* sa-token 当前版本号
|
||||
*/
|
||||
public static final String VERSION_NO = "v1.16.0.RELEASE";
|
||||
public static final String VERSION_NO = "v1.17.0";
|
||||
|
||||
/**
|
||||
* sa-token 开源地址
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
<!-- 定义sa-token版本号 -->
|
||||
<properties>
|
||||
<sa-token-version>1.16.0.RELEASE</sa-token-version>
|
||||
<sa-token-version>1.17.0</sa-token-version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
<!-- 定义sa-token版本号 -->
|
||||
<properties>
|
||||
<sa-token-version>1.16.0.RELEASE</sa-token-version>
|
||||
<sa-token-version>1.17.0</sa-token-version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
<!-- 定义sa-token版本号 -->
|
||||
<properties>
|
||||
<sa-token-version>1.16.0.RELEASE</sa-token-version>
|
||||
<sa-token-version>1.17.0</sa-token-version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<p align="center">
|
||||
<img alt="logo" src="https://gitee.com/dromara/sa-token/raw/master/sa-token-doc/doc/logo.png" width="150" height="150">
|
||||
</p>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.16.0</h1>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.17.0</h1>
|
||||
<h4 align="center">这可能是史上功能最全的 Java 权限认证框架!</h4>
|
||||
<h4 align="center">
|
||||
<a href="https://gitee.com/dromara/sa-token/stargazers"><img src="https://gitee.com/dromara/sa-token/badge/star.svg"></a>
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
|
||||
## Sa-Token是什么?
|
||||
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题
|
||||
Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题
|
||||
|
||||
框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系统的权限认证部分
|
||||
|
||||
@ -42,7 +42,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
||||
|
||||
## Sa-Token 能做什么?
|
||||
|
||||

|
||||

|
||||
|
||||
- **登录验证** —— 轻松登录鉴权,并提供五种细分场景值
|
||||
- **权限验证** —— 适配RBAC权限模型,不同角色不同授权
|
||||
@ -65,6 +65,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
||||
- **会话治理** —— 提供方便灵活的会话查询接口
|
||||
- **记住我模式** —— 适配[记住我]模式,重启浏览器免验证
|
||||
- **密码加密** —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
|
||||
- **全局侦听器** —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作
|
||||
- **开箱即用** —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用
|
||||
- **更多功能正在集成中...** —— 如有您有好想法或者建议,欢迎加群交流
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
- [同端互斥登录](/use/mutex-login)
|
||||
- [密码加密](/use/password-secure)
|
||||
- [会话治理](/use/search-session)
|
||||
- [全局侦听器](/use/global-listener)
|
||||
|
||||
- **进阶**
|
||||
- [全局过滤器](/use/global-filter)
|
||||
|
@ -21,6 +21,7 @@
|
||||
<nav>
|
||||
<select onchange="location.href=this.value">
|
||||
<option value="http://sa-token.dev33.cn/doc/index.html">最新版</option>
|
||||
<option value="http://sa-token.dev33.cn/v/v1.16.0/doc/index.html">v1.16.0</option>
|
||||
<option value="http://sa-token.dev33.cn/v/v1.15.0/doc/index.html">v1.15.0</option>
|
||||
<option value="http://sa-token.dev33.cn/v/v1.14.0/doc/index.html">v1.14.0</option>
|
||||
<option value="http://sa-token.dev33.cn/v/v1.13.0/doc/index.html">v1.13.0</option>
|
||||
@ -46,7 +47,7 @@
|
||||
</div>
|
||||
<script>
|
||||
var name = '<img style="width: 60px; height: 60px; vertical-align: middle;" src="logo.png" alt="logo" /> ';
|
||||
name += '<b style="font-size: 28px; vertical-align: middle;">sa-token</b> <sub>v1.16.0</sub>'
|
||||
name += '<b style="font-size: 28px; vertical-align: middle;">sa-token</b> <sub>v1.17.0</sub>'
|
||||
window.$docsify = {
|
||||
name: name, // 名字
|
||||
repo: 'https://github.com/dromara/sa-token', // github地址
|
||||
|
@ -1,6 +1,17 @@
|
||||
# 更新日志
|
||||
|
||||
|
||||
### 2021-4-17 @v1.17.0
|
||||
- 修复:在WebFlux环境中引入Redis集成包无法启动的问题
|
||||
- 修复:修复JWT集成示例中版本升级API的变更
|
||||
- 优化:优化启动时字符画打印
|
||||
- 文档:新增集成环境说明
|
||||
- 文档:新增功能介绍图
|
||||
- 新增:全局过滤器增加限定[拦截路径]与[排除路径]功能
|
||||
- 重构:全局过滤器执行函数放到成员变量里,连缀风格配置
|
||||
- 新增:新增全局侦听器,可在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作 **[重要]**
|
||||
|
||||
|
||||
### 2021-4-12 @v1.16.0
|
||||
- 新增:新增账号封禁功能,指定时间内账号无法登陆 **[重要]**
|
||||
- 新增:核心包脱离`ServletAPI`,彻底零依赖! **[重要]**
|
||||
@ -12,7 +23,6 @@
|
||||
- 文档:新增推荐公众号列表
|
||||
|
||||
|
||||
|
||||
### 2021-3-23 @v1.15.0
|
||||
- 新增:文档添加源码涉及技术栈说明
|
||||
- 优化:优化路由拦截器模块文档,更简洁的示例
|
||||
|
@ -12,7 +12,7 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot-starter</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-reactor-spring-boot-starter</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-servlet</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-core</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
<!---------------------------- tabs:end ------------------------------>
|
||||
@ -56,19 +56,19 @@
|
||||
<!-- tabs:start -->
|
||||
<!-- tab:SpringMVC环境 (ServletAPI) -->
|
||||
``` xml
|
||||
implementation 'cn.dev33:sa-token-spring-boot-starter:1.16.0.RELEASE'
|
||||
implementation 'cn.dev33:sa-token-spring-boot-starter:1.17.0'
|
||||
```
|
||||
<!-- tab:WebFlux环境 (Reactor) -->
|
||||
``` xml
|
||||
implementation 'cn.dev33:sa-token-reactor-spring-boot-starter:1.16.0.RELEASE'
|
||||
implementation 'cn.dev33:sa-token-reactor-spring-boot-starter:1.17.0'
|
||||
```
|
||||
<!-- tab:Servlet容器环境 -->
|
||||
``` xml
|
||||
implementation 'cn.dev33:sa-token-servlet:1.16.0.RELEASE'
|
||||
implementation 'cn.dev33:sa-token-servlet:1.17.0'
|
||||
```
|
||||
<!-- tab:其它 -->
|
||||
``` xml
|
||||
implementation 'cn.dev33:sa-token-core:1.16.0.RELEASE'
|
||||
implementation 'cn.dev33:sa-token-core:1.17.0'
|
||||
```
|
||||
<!-- tabs:end -->
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot-starter</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
|
@ -19,7 +19,7 @@ WebFlux基于Reactor响应式模型开发,有着与标准ServletAPI完全不
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-reactor-spring-boot-starter</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
|
@ -21,7 +21,7 @@ sa-token内置两种模式完成注解鉴权,分别是`AOP模式`和`拦截器
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-aop</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
|
@ -14,7 +14,7 @@ Sa-token默认将会话数据保存在内存中,此模式读写速度最快,
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-dao-redis</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
优点:兼容性好,缺点:Session序列化后基本不可读,对开发者来讲等同于乱码
|
||||
@ -26,7 +26,7 @@ Sa-token默认将会话数据保存在内存中,此模式读写速度最快,
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-dao-redis-jackson</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</dependency>
|
||||
```
|
||||
优点:Session序列化后可读性强,可灵活手动修改,缺点:兼容性稍差
|
||||
|
72
sa-token-doc/doc/use/global-listener.md
Normal file
72
sa-token-doc/doc/use/global-listener.md
Normal file
@ -0,0 +1,72 @@
|
||||
# 全局侦听器
|
||||
|
||||
接口`SaTokenListener`是Sa-Token的全局侦听器,通过实现此接口,你可以在用户登陆、退出、被踢下线等关键性操作时进行一些AOP操作
|
||||
|
||||
框架对此侦听器的默认实现是log日志输出,你可以通过配置`spring.sa-token.is-log=true`开启
|
||||
|
||||
下面我们演示一下如何自定义侦听器的实现:
|
||||
|
||||
---
|
||||
|
||||
|
||||
### 自定义侦听器实现
|
||||
|
||||
新建`MySaTokenListener.java`,继承`SaTokenListener`接口, 并添加上注解`@Component`,保证此类被`SpringBoot`扫描到
|
||||
``` java
|
||||
/**
|
||||
* 自定义侦听器的实现
|
||||
*/
|
||||
@Component
|
||||
public class MySaTokenListener implements SaTokenListener {
|
||||
|
||||
/** 每次登录时触发 */
|
||||
@Override
|
||||
public void doLogin(String loginKey, Object loginId, SaLoginModel loginModel) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次注销时触发 */
|
||||
@Override
|
||||
public void doLogout(String loginKey, Object loginId, String tokenValue) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次被踢下线时触发 */
|
||||
@Override
|
||||
public void doLogoutByLoginId(String loginKey, Object loginId, String tokenValue, String device) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次被顶下线时触发 */
|
||||
@Override
|
||||
public void doReplaced(String loginKey, Object loginId, String tokenValue, String device) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次被封禁时触发 */
|
||||
@Override
|
||||
public void doDisable(String loginKey, Object loginId, long disableTime) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次被解封时触发 */
|
||||
@Override
|
||||
public void doUntieDisable(String loginKey, Object loginId) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次创建Session时触发 */
|
||||
@Override
|
||||
public void doCreateSession(String id) {
|
||||
// ...
|
||||
}
|
||||
|
||||
/** 每次注销Session时触发 */
|
||||
@Override
|
||||
public void doLogoutSession(String id) {
|
||||
// ...
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
@ -46,7 +46,7 @@
|
||||
<div class="content-box">
|
||||
<div class="fenge"></div>
|
||||
<!-- <img class="title-logo" src="./doc/logo.png" onclick="alert('别点我, 快去点star!')"> -->
|
||||
<h1>Sa-Token<small>v1.16.0</small></h1>
|
||||
<h1>Sa-Token<small>v1.17.0</small></h1>
|
||||
<div class="sub-title"> 这可能是史上功能最全的java权限认证框架!</div>
|
||||
<div class="btn-box">
|
||||
<a href="https://github.com/dromara/sa-token" target="_blank">GitHub</a>
|
||||
@ -163,6 +163,10 @@
|
||||
<h2>密码加密</h2>
|
||||
<p>提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>全局侦听器</h2>
|
||||
<p>可在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<h2>开箱即用</h2>
|
||||
<p>提供SpringMVC、WebFlux等常见web框架的starter集成包,真正的开箱即用</p>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -104,7 +104,7 @@ public class SaTokenSpringAutowired {
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入监听器Bean
|
||||
* 注入侦听器Bean
|
||||
*
|
||||
* @param saTokenListener saTokenListener对象
|
||||
*/
|
||||
@ -112,6 +112,7 @@ public class SaTokenSpringAutowired {
|
||||
public void setSaTokenListener(SaTokenListener saTokenListener) {
|
||||
SaTokenManager.setSaTokenListener(saTokenListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* 利用自动匹配特性,获取SpringMVC框架内部使用的路由匹配器
|
||||
*
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-parent</artifactId>
|
||||
<version>1.16.0.RELEASE</version>
|
||||
<version>1.17.0</version>
|
||||
</parent>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@ -95,7 +95,7 @@ public class SaTokenSpringAutowired {
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入监听器Bean
|
||||
* 注入侦听器Bean
|
||||
*
|
||||
* @param saTokenListener saTokenListener对象
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user