mirror of
https://gitee.com/dromara/sa-token.git
synced 2024-12-01 19:37:42 +08:00
优化算法
This commit is contained in:
parent
40b82ce602
commit
b836e1f75a
@ -151,11 +151,11 @@ Sa-Token秉承着开放的思想,欢迎大家为框架添砖加瓦:
|
||||
|
||||
|
||||
## 使用Sa-Token的开源项目
|
||||
[**[ sa-plus]** 一个基于springboot架构的快速开发框架,内置代码生成器](https://gitee.com/click33/sa-plus)
|
||||
[**[ sa-plus ]** 一个基于springboot架构的快速开发框架,内置代码生成器](https://gitee.com/click33/sa-plus)
|
||||
|
||||
[**[ jthink]** 一个基于springboot+sa-token+thymeleaf的博客系统](https://gitee.com/wtsoftware/jthink)
|
||||
[**[ jthink ]** 一个基于springboot+sa-token+thymeleaf的博客系统](https://gitee.com/wtsoftware/jthink)
|
||||
|
||||
[**[ dcy-fast]** 一个基于springboot+sa-token+mybatis-plus的后台管理系统,前端vue-element-admin,并且内置代码生成器](https://gitee.com/dcy421/dcy-fast)
|
||||
[**[ dcy-fast ]** 一个基于springboot+sa-token+mybatis-plus的后台管理系统,前端vue-element-admin,并且内置代码生成器](https://gitee.com/dcy421/dcy-fast)
|
||||
|
||||
如果您的项目使用了Sa-Token,欢迎提交pr
|
||||
|
||||
|
@ -33,6 +33,35 @@ cd sa-token-demo-quick-login
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-alone-redis
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-sso1
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-sso2-server
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-sso2-client
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-sso3-server
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
cd sa-token-demo-sso3-client
|
||||
call mvn clean
|
||||
cd ..
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cd ..
|
||||
|
||||
:: 最后打印
|
||||
|
@ -20,7 +20,7 @@ public class SaSsoConfig {
|
||||
public String allowUrl = "*";
|
||||
|
||||
/**
|
||||
* 调用秘钥
|
||||
* 接口调用秘钥 (用于SSO模式三单点注销的接口通信身份校验)
|
||||
*/
|
||||
public String secretkey;
|
||||
|
||||
@ -30,12 +30,12 @@ public class SaSsoConfig {
|
||||
public String authUrl;
|
||||
|
||||
/**
|
||||
* SSO-Server端 Ticket校验地址 [模式三专用配置]
|
||||
* SSO-Server端 Ticket校验地址
|
||||
*/
|
||||
public String checkTicketUrl;
|
||||
|
||||
/**
|
||||
* SSO-Server端 单点注销地址 [模式三专用配置]
|
||||
* SSO-Server端 单点注销地址
|
||||
*/
|
||||
public String sloUrl;
|
||||
|
||||
@ -74,14 +74,14 @@ public class SaSsoConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 调用秘钥
|
||||
* @return 调用秘钥 (用于SSO模式三单点注销的接口通信身份校验)
|
||||
*/
|
||||
public String getSecretkey() {
|
||||
return secretkey;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param secretkey 调用秘钥
|
||||
* @param secretkey 调用秘钥 (用于SSO模式三单点注销的接口通信身份校验)
|
||||
* @return 对象自身
|
||||
*/
|
||||
public SaSsoConfig setSecretkey(String secretkey) {
|
||||
|
@ -41,7 +41,11 @@ public interface SaSsoInterface {
|
||||
* @param ticket Ticket码
|
||||
*/
|
||||
public default void deleteTicket(String ticket) {
|
||||
SaManager.getSaTokenDao().delete(splicingKeyTicketToId(ticket));
|
||||
Object loginId = getLoginId(ticket);
|
||||
if(loginId != null) {
|
||||
SaManager.getSaTokenDao().delete(splicingKeyTicketToId(ticket));
|
||||
SaManager.getSaTokenDao().delete(splicingKeyIdToTicket(loginId));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -279,7 +283,8 @@ public interface SaSsoInterface {
|
||||
forEachSloUrl(loginId, fun);
|
||||
|
||||
// step.3 Server端注销
|
||||
StpUtil.logoutByLoginId(loginId);
|
||||
// StpUtil.logoutByLoginId(loginId);
|
||||
StpUtil.logoutByTokenValue(StpUtil.getTokenValueByLoginId(loginId));
|
||||
}
|
||||
|
||||
|
||||
|
@ -178,7 +178,9 @@ public class SsoClientLogoutController {
|
||||
}
|
||||
```
|
||||
|
||||
并在 `application.yml` 增加配置: API调用秘钥 和 单点注销接口URL
|
||||
!> `logoutByLoginId(id)`为踢人下线,如果要彻底清除数据,可更换为`StpUtil.logoutByTokenValue(StpUtil.getTokenValueByLoginId(loginId));`
|
||||
|
||||
并在 `application.yml` 增加配置: `API调用秘钥` 和 `单点注销接口URL`
|
||||
``` yml
|
||||
sa-token:
|
||||
sso:
|
||||
|
@ -79,3 +79,25 @@ public class SaTokenConfigure {
|
||||
| isPrint | Boolean | true | 是否在初始化配置时打印版本字符画 |
|
||||
| isLog | Boolean | false | 是否打印操作日志 |
|
||||
| jwtSecretKey | String | null | jwt秘钥 (只有集成 sa-token-temp-jwt 模块时此参数才会生效) |
|
||||
| sso | Object | new SaSsoConfig() | SSO 单点登录相关配置 |
|
||||
|
||||
|
||||
### 单点登录相关配置
|
||||
| 参数名称 | 类型 | 默认值 | 说明 |
|
||||
| :-------- | :-------- | :-------- | :-------- |
|
||||
| ticketTimeout | long | 300 | Ticket有效期 (单位: 秒) |
|
||||
| allowUrl | String | * | 所有允许的授权回调地址,多个用逗号隔开 (不在此列表中的URL将禁止下放ticket),[详情请参考 SSO模式二的域名校验章节] |
|
||||
| secretkey | String | null | 调用秘钥 (用于SSO模式三单点注销的接口通信身份校验) |
|
||||
| authUrl | String | null | SSO-Server端 单点登录地址 |
|
||||
| checkTicketUrl| String | null | SSO-Server端 Ticket校验地址 |
|
||||
| sloUrl | String | null | SSO-Server端 单点注销地址 |
|
||||
|
||||
配置示例:
|
||||
``` yml
|
||||
# sa-token配置
|
||||
sa-token:
|
||||
# SSO-相关配置
|
||||
sso:
|
||||
# SSO-Server端 单点登录地址
|
||||
auth-url: http://sa-sso-server.com:9000/ssoAuth
|
||||
```
|
Loading…
Reference in New Issue
Block a user