mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-09-19 01:58:05 +08:00
修复 quick-login 插件循环依赖问题
This commit is contained in:
@@ -312,7 +312,7 @@ public class SaSsoHandle {
|
|||||||
String secretkey = req.getParam(ParamName.secretkey);
|
String secretkey = req.getParam(ParamName.secretkey);
|
||||||
|
|
||||||
SaSsoUtil.checkSecretkey(secretkey);
|
SaSsoUtil.checkSecretkey(secretkey);
|
||||||
stpLogic.logoutByTokenValue(stpLogic.getTokenValueByLoginId(loginId));
|
stpLogic.logout(loginId);
|
||||||
return SaSsoConsts.OK;
|
return SaSsoConsts.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>2.0.0.RELEASE</version>
|
<version>2.0.0.RELEASE</version>
|
||||||
|
<!-- <version>2.6.0</version> -->
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<!-- 定义sa-token版本号 -->
|
<!-- 定义sa-token版本号 -->
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
``` java
|
``` java
|
||||||
// 全局异常拦截(拦截项目中的NotLoginException异常)
|
// 全局异常拦截(拦截项目中的NotLoginException异常)
|
||||||
@ExceptionHandler(NotLoginException.class)
|
@ExceptionHandler(NotLoginException.class)
|
||||||
public AjaxJson handlerNotLoginException(NotLoginException nle, HttpServletRequest request, HttpServletResponse response)
|
public SaResult handlerNotLoginException(NotLoginException nle)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
// 打印堆栈,以供调试
|
// 打印堆栈,以供调试
|
||||||
@@ -51,7 +51,7 @@ public AjaxJson handlerNotLoginException(NotLoginException nle, HttpServletReque
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 返回给前端
|
// 返回给前端
|
||||||
return AjaxJson.getError(message);
|
return SaResult.error(message);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -76,18 +76,18 @@ public class TestController {
|
|||||||
|
|
||||||
// 测试Sa-Token缓存
|
// 测试Sa-Token缓存
|
||||||
@RequestMapping("login")
|
@RequestMapping("login")
|
||||||
public AjaxJson login(@RequestParam(defaultValue="10001") String id) {
|
public SaResult login(@RequestParam(defaultValue="10001") String id) {
|
||||||
System.out.println("--------------- 测试Sa-Token缓存");
|
System.out.println("--------------- 测试Sa-Token缓存");
|
||||||
StpUtil.login(id);
|
StpUtil.login(id);
|
||||||
return AjaxJson.getSuccess();
|
return SaResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 测试业务缓存
|
// 测试业务缓存
|
||||||
@RequestMapping("test")
|
@RequestMapping("test")
|
||||||
public AjaxJson test() {
|
public SaResult test() {
|
||||||
System.out.println("--------------- 测试业务缓存");
|
System.out.println("--------------- 测试业务缓存");
|
||||||
stringRedisTemplate.opsForValue().set("hello", "Hello World");
|
stringRedisTemplate.opsForValue().set("hello", "Hello World");
|
||||||
return AjaxJson.getSuccess();
|
return SaResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -65,7 +65,7 @@ public class SaTokenConfigure {
|
|||||||
// 指定[异常处理函数]:每次[认证函数]发生异常时执行此函数
|
// 指定[异常处理函数]:每次[认证函数]发生异常时执行此函数
|
||||||
.setError(e -> {
|
.setError(e -> {
|
||||||
System.out.println("---------- sa全局异常 ");
|
System.out.println("---------- sa全局异常 ");
|
||||||
return AjaxJson.getError(e.getMessage());
|
return SaResult.error(e.getMessage());
|
||||||
})
|
})
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ public class SaTokenConfigure {
|
|||||||
// 异常处理函数:每次认证函数发生异常时执行此函数
|
// 异常处理函数:每次认证函数发生异常时执行此函数
|
||||||
.setError(e -> {
|
.setError(e -> {
|
||||||
System.out.println("---------- 进入Sa-Token异常处理 -----------");
|
System.out.println("---------- 进入Sa-Token异常处理 -----------");
|
||||||
return AjaxJson.getError(e.getMessage());
|
return SaResult.error(e.getMessage());
|
||||||
})
|
})
|
||||||
|
|
||||||
// 前置函数:在每次认证函数之前执行
|
// 前置函数:在每次认证函数之前执行
|
||||||
|
@@ -86,8 +86,8 @@ public String add() {
|
|||||||
// 注解式鉴权:只要具有其中一个权限即可通过校验
|
// 注解式鉴权:只要具有其中一个权限即可通过校验
|
||||||
@RequestMapping("atJurOr")
|
@RequestMapping("atJurOr")
|
||||||
@SaCheckPermission(value = {"user-add", "user-all", "user-delete"}, mode = SaMode.OR)
|
@SaCheckPermission(value = {"user-add", "user-all", "user-delete"}, mode = SaMode.OR)
|
||||||
public AjaxJson atJurOr() {
|
public SaResult atJurOr() {
|
||||||
return AjaxJson.getSuccessData("用户信息");
|
return SaResult.data("用户信息");
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -103,8 +103,8 @@ mode有两种取值:
|
|||||||
// 注解式鉴权:只要具有其中一个权限即可通过校验
|
// 注解式鉴权:只要具有其中一个权限即可通过校验
|
||||||
@RequestMapping("userAdd")
|
@RequestMapping("userAdd")
|
||||||
@SaCheckPermission(value = "user-add", orRole = "admin")
|
@SaCheckPermission(value = "user-add", orRole = "admin")
|
||||||
public AjaxJson userAdd() {
|
public SaResult userAdd() {
|
||||||
return AjaxJson.getSuccessData("用户信息");
|
return SaResult.data("用户信息");
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -0,0 +1,30 @@
|
|||||||
|
package cn.dev33.satoken.quick;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.quick.config.SaQuickConfig;
|
||||||
|
import cn.dev33.satoken.quick.web.SaQuickController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Quick-Bean 注入
|
||||||
|
*
|
||||||
|
* @author kong
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
@Import({ SaQuickController.class, SaQuickRegister.class})
|
||||||
|
public class SaQuickInject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注入quick-login 配置
|
||||||
|
*
|
||||||
|
* @param saQuickConfig 配置对象
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
public void setSaQuickConfig(SaQuickConfig saQuickConfig) {
|
||||||
|
SaQuickManager.setConfig(saQuickConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -1,33 +1,28 @@
|
|||||||
package cn.dev33.satoken.quick;
|
package cn.dev33.satoken.quick;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Import;
|
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.context.SaHolder;
|
import cn.dev33.satoken.context.SaHolder;
|
||||||
import cn.dev33.satoken.filter.SaServletFilter;
|
import cn.dev33.satoken.filter.SaServletFilter;
|
||||||
import cn.dev33.satoken.quick.config.SaQuickConfig;
|
import cn.dev33.satoken.quick.config.SaQuickConfig;
|
||||||
import cn.dev33.satoken.quick.web.SaQuickController;
|
|
||||||
import cn.dev33.satoken.router.SaRouter;
|
import cn.dev33.satoken.router.SaRouter;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.dev33.satoken.util.SaTokenConsts;
|
import cn.dev33.satoken.util.SaTokenConsts;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动注入
|
* Quick-Bean 注册
|
||||||
*
|
*
|
||||||
* @author kong
|
* @author kong
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
@Import({ SaQuickController.class })
|
public class SaQuickRegister {
|
||||||
public class SaQuickBean implements WebMvcConfigurer {
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* quick-login 配置
|
* 注册 Quick-Login 配置
|
||||||
*
|
*
|
||||||
* @return see note
|
* @return see note
|
||||||
*/
|
*/
|
||||||
@@ -38,17 +33,7 @@ public class SaQuickBean implements WebMvcConfigurer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注入quick-login 配置
|
* 注册 [sa-token全局过滤器]
|
||||||
*
|
|
||||||
* @param saQuickConfig 配置对象
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
public void setSaQuickConfig(SaQuickConfig saQuickConfig) {
|
|
||||||
SaQuickManager.setConfig(saQuickConfig);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注册 [sa-token全局过滤器]
|
|
||||||
*
|
*
|
||||||
* @return see note
|
* @return see note
|
||||||
*/
|
*/
|
@@ -1 +1 @@
|
|||||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.dev33.satoken.quick.SaQuickBean
|
org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.dev33.satoken.quick.SaQuickInject
|
Reference in New Issue
Block a user