新增登录时动态指定 active-timeout 能力

This commit is contained in:
click33
2023-06-06 06:18:52 +08:00
parent 48ba6da91a
commit 814a64907a
51 changed files with 835 additions and 475 deletions

View File

@@ -111,7 +111,7 @@ public class LoginAuthController {
System.out.println("当前登录账号的类型:" + info.getLoginType());
System.out.println("当前登录客户端的设备类型:" + info.getLoginDevice());
System.out.println("当前 Token 的剩余有效期:" + info.getTokenTimeout()); // 单位:秒,-1代表永久有效-2代表值不存在
System.out.println("当前 Token 的剩余临时有效期" + info.getTokenActivityTimeout()); // 单位:秒,-1代表永久有效-2代表值不存在
System.out.println("当前 Token 距离被冻结还剩" + info.getTokenActiveTimeout()); // 单位:秒,-1代表永久有效-2代表值不存在
System.out.println("当前 Account-Session 的剩余有效期" + info.getSessionTimeout()); // 单位:秒,-1代表永久有效-2代表值不存在
System.out.println("当前 Token-Session 的剩余有效期" + info.getTokenSessionTimeout()); // 单位:秒,-1代表永久有效-2代表值不存在

View File

@@ -7,17 +7,15 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Sa-Token 权限认证工具类 (User版)
* Sa-Token 权限认证工具类 (User 版)
*
* @author click33
* @since <= 1.34.0
* @since 1.0.0
*/
@Component
public class StpUserUtil {
private StpUserUtil() {}
@@ -25,7 +23,7 @@ public class StpUserUtil {
/**
* 多账号体系下的类型标识
*/
public static final String TYPE = "user";
public static final String TYPE = "login";
/**
* 底层使用的 StpLogic 对象
@@ -483,24 +481,24 @@ public class StpUserUtil {
}
// ------------------- Activity-Timeout token 最低活跃度 验证相关 -------------------
/**
* 检查当前 token 是否已被冻结,如果是则抛出异常
*/
public static void checkActivityTimeout() {
stpLogic.checkActivityTimeout();
}
// ------------------- Active-Timeout token 最低活跃度 验证相关 -------------------
/**
* 续签当前 token(将 [最后操作时间] 更新为当前时间戳)
* <h2>
* 请注意: 即使 token 已被冻结 也可续签成功,
* 如果此场景下需要提示续签失败,可在此之前调用 checkActivityTimeout() 强制检查是否冻结即可
* 如果此场景下需要提示续签失败,可在此之前调用 checkActiveTimeout() 强制检查是否冻结即可
* </h2>
*/
public static void updateLastActivityToNow() {
stpLogic.updateLastActivityToNow();
public static void updateLastActiveToNow() {
stpLogic.updateLastActiveToNow();
}
/**
* 检查当前 token 是否已被冻结,如果是则抛出异常
*/
public static void checkActiveTimeout() {
stpLogic.checkActiveTimeout();
}
@@ -548,8 +546,8 @@ public class StpUserUtil {
*
* @return /
*/
public static long getTokenActivityTimeout() {
return stpLogic.getTokenActivityTimeout();
public static long getTokenActiveTimeout() {
return stpLogic.getTokenActiveTimeout();
}
/**

View File

@@ -2,22 +2,22 @@
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: false
is-log: true
spring:
# redis配置

View File

@@ -2,21 +2,21 @@
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否打印操作日志
# 是否输出操作日志
is-log: true
# jwt秘钥
jwt-secret-key: asdasdasifhueuiwyurfewbfjsdafjk

View File

@@ -2,24 +2,22 @@
server:
port: 80
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 禁止写入cookie
is-read-cookie: false
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# token风格
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: false
is-log: true
spring:
# redis配置

View File

@@ -159,8 +159,8 @@ public class TestController {
public AjaxJson atCheck() {
System.out.println("======================= 进入方法,测试注解鉴权接口 ========================= ");
System.out.println("只有通过注解鉴权,才能进入此方法");
// StpUtil.checkActivityTimeout();
// StpUtil.updateLastActivityToNow();
// StpUtil.checkActiveTimeout();
// StpUtil.updateLastActiveToNow();
return AjaxJson.getSuccess();
}
@@ -174,8 +174,8 @@ public class TestController {
// [活动时间] 续签: http://localhost:8081/test/rene
@Mapping("rene")
public AjaxJson rene() {
StpUtil.checkActivityTimeout();
StpUtil.updateLastActivityToNow();
StpUtil.checkActiveTimeout();
StpUtil.updateLastActiveToNow();
return AjaxJson.getSuccess("续签成功");
}

View File

@@ -2,19 +2,19 @@
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
allow-concurrent-login: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: true

View File

@@ -1,20 +1,20 @@
# 端口
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: true

View File

@@ -2,21 +2,21 @@
server:
port: 8081
# sa-token配置
sa-token:
# token名称 (同时也是cookie名称)
# sa-token 配置
sa-token:
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
# 是否输出操作日志
is-log: true
spring:

View File

@@ -160,8 +160,8 @@ public class TestController {
public AjaxJson atCheck() {
System.out.println("======================= 进入方法,测试注解鉴权接口 ========================= ");
System.out.println("只有通过注解鉴权,才能进入此方法");
// StpUtil.checkActivityTimeout();
// StpUtil.updateLastActivityToNow();
// StpUtil.checkActiveTimeout();
// StpUtil.updateLastActiveToNow();
return AjaxJson.getSuccess();
}
@@ -175,8 +175,8 @@ public class TestController {
// [活动时间] 续签: http://localhost:8081/test/rene
@RequestMapping("rene")
public AjaxJson rene() {
StpUtil.checkActivityTimeout();
StpUtil.updateLastActivityToNow();
StpUtil.checkActiveTimeout();
StpUtil.updateLastActiveToNow();
return AjaxJson.getSuccess("续签成功");
}

View File

@@ -1,23 +1,23 @@
# 端口
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: false
is-log: true
spring:
# redis配置

View File

@@ -1,20 +1,20 @@
# 端口
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: true

View File

@@ -7,17 +7,15 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Sa-Token 权限认证工具类 (User版)
* Sa-Token 权限认证工具类 (User 版)
*
* @author click33
* @since <= 1.34.0
* @since 1.0.0
*/
@Component
public class StpUserUtil {
private StpUserUtil() {}
@@ -25,7 +23,7 @@ public class StpUserUtil {
/**
* 多账号体系下的类型标识
*/
public static final String TYPE = "user";
public static final String TYPE = "login";
/**
* 底层使用的 StpLogic 对象
@@ -483,24 +481,24 @@ public class StpUserUtil {
}
// ------------------- Activity-Timeout token 最低活跃度 验证相关 -------------------
/**
* 检查当前 token 是否已被冻结,如果是则抛出异常
*/
public static void checkActivityTimeout() {
stpLogic.checkActivityTimeout();
}
// ------------------- Active-Timeout token 最低活跃度 验证相关 -------------------
/**
* 续签当前 token(将 [最后操作时间] 更新为当前时间戳)
* <h2>
* 请注意: 即使 token 已被冻结 也可续签成功,
* 如果此场景下需要提示续签失败,可在此之前调用 checkActivityTimeout() 强制检查是否冻结即可
* 如果此场景下需要提示续签失败,可在此之前调用 checkActiveTimeout() 强制检查是否冻结即可
* </h2>
*/
public static void updateLastActivityToNow() {
stpLogic.updateLastActivityToNow();
public static void updateLastActiveToNow() {
stpLogic.updateLastActiveToNow();
}
/**
* 检查当前 token 是否已被冻结,如果是则抛出异常
*/
public static void checkActiveTimeout() {
stpLogic.checkActiveTimeout();
}
@@ -548,8 +546,8 @@ public class StpUserUtil {
*
* @return /
*/
public static long getTokenActivityTimeout() {
return stpLogic.getTokenActivityTimeout();
public static long getTokenActiveTimeout() {
return stpLogic.getTokenActiveTimeout();
}
/**

View File

@@ -1,11 +1,15 @@
package com.pj.test;
import cn.dev33.satoken.stp.SaLoginConfig;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaFoxUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
/**
* 测试专用Controller
* @author click33
@@ -18,14 +22,15 @@ public class TestController {
// 测试登录 ---- http://localhost:8081/test/login
@RequestMapping("login")
public SaResult login(@RequestParam(defaultValue = "10001") long id) {
StpUtil.login(id);
StpUtil.login(id, SaLoginConfig.setActiveTimeout(20));
return SaResult.ok("登录成功");
}
// 测试 浏览器访问: http://localhost:8081/test/test
@RequestMapping("test")
public SaResult test() {
System.out.println("------------进来了");
System.out.println("------------进来了 " + SaFoxUtil.formatDate(new Date()));
StpUtil.checkLogin();
// 返回
return SaResult.data(null);
}

View File

@@ -4,17 +4,17 @@ server:
############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: 100000
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: true

View File

@@ -2,21 +2,21 @@
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 日志
# 是否输出操作日志
is-log: true
spring:

View File

@@ -2,21 +2,21 @@
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 日志
# 是否输出操作日志
is-log: true
spring:

View File

@@ -1,23 +1,23 @@
# 端口
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: false
is-log: true
spring:
# redis配置

View File

@@ -1,23 +1,23 @@
# 端口
server:
port: 8081
# sa-token配置
# sa-token 配置
sa-token:
# token名称 (同时也是cookie名称)
# token 名称 (同时也是 cookie 名称)
token-name: satoken
# token有效期单位s 默认30天, -1代表永不过期
# token 有效期单位:秒) 默认30天-1 代表永久有效
timeout: 2592000
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
activity-timeout: -1
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token
is-share: true
# token风格
# token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
token-style: uuid
# 是否输出操作日志
is-log: false
is-log: true
spring:
# redis配置