docs: 文档新增 “登录参数” 章节

This commit is contained in:
click33 2025-03-08 11:52:17 +08:00
parent 5352e973e3
commit 2b8489dff7
5 changed files with 45 additions and 8 deletions

View File

@ -69,7 +69,7 @@ public class SaLoginParameter {
/**
* 指定此次登录 token 有效期单位 如未指定自动取全局配置的 timeout
*/
private Long timeout;
private long timeout;
/**
* 指定此次登录 token 最低活跃频率单位如未指定则使用全局配置的 activeTimeout
@ -293,7 +293,7 @@ public class SaLoginParameter {
/**
* @return 指定此次登录 token 有效期单位
*/
public Long getTimeout() {
public long getTimeout() {
return timeout;
}

View File

@ -16,6 +16,7 @@ public class SaTokenApplication {
public static void main(String[] args) {
SpringApplication.run(SaTokenApplication.class, args);
System.out.println("\n启动成功Sa-Token配置如下" + SaManager.getConfig());
);
}
}

View File

@ -22,10 +22,11 @@
- [前后端分离](/up/not-cookie)
- [自定义 Token 风格](/up/token-style)
- [自定义 Token 前缀](/up/token-prefix)
- [同端互斥登录](/up/mutex-login)
- [记住我模式](/up/remember-me)
- [登录参数](/up/login-parameter)
- [二级认证](/up/safe-auth)
- [模拟他人 & 身份切换](/up/mock-person)
- [同端互斥登录](/up/mutex-login)
- [账号封禁](/up/disable)
- [密码加密](/up/password-secure)
- [会话查询](/up/search-session)

View File

@ -13,15 +13,15 @@ Sa-Token 内置防火墙组件 `SaFirewallStrategy`,用于拦截一些可能
- `SaFirewallCheckHookForWhitePath`:请求 path 白名单放行。
- `SaFirewallCheckHookForBlackPath`:请求 path 黑名单校验。
- `SaFirewallCheckHookForPathDangerCharacter`:请求 path 危险字符校。
- `SaFirewallCheckHookForPathBannedCharacter`:请求 path 禁止字符校验
- `SaFirewallCheckHookForDirectoryTraversal`:请求 path 目录遍历符检测
- `SaFirewallCheckHookForPathBannedCharacter`:请求 path 禁止字符校验
- `SaFirewallCheckHookForDirectoryTraversal`:请求 path 目录遍历符检测
- `SaFirewallCheckHookForHost`Host 检测。
- `SaFirewallCheckHookForHttpMethod`:请求 Method 检测。
- `SaFirewallCheckHookForHeader`:请求头检测。
- `SaFirewallCheckHookForParameter`:请求参数检测。
### 默认 hook 配置:
### 1、默认 hook 配置:
假设我们想要增加请求 path 黑名单,可以使用如下代码:
@ -45,7 +45,7 @@ public class SaTokenConfigure {
除了 `SaFirewallCheckHookForBlackPath` 以外,其它所有 hook 均可通过此方式重载配置,在此暂不冗余演示。
### 注册新的 hook 规则:
### 2、注册新的 hook 规则:
你可以使用如下代码注册新的 hook 规则:
``` java
@ -68,7 +68,7 @@ SaFirewallStrategy.instance.removeHook(SaFirewallCheckHookForHost.class);
```
### 指定异常处理:
### 3、指定异常处理:
被防火墙拦截的请求不会做出格式化响应,因为通常这些请求为非正常业务请求,只需阻断即可,无需前端依照响应做出页面提示。

View File

@ -0,0 +1,35 @@
# 登录参数
在之前的章节我们提到,通过 `StpUtil.login(xxx)` 可以完成指定账号登录,同时你可以指定第二个参数来扩展登录信息,比如:
``` java
// 指定`账号id`和`设备类型`进行登录
StpUtil.login(10001, "PC");
// 设置登录账号 id 为 10001并指定是否为 “记住我” 模式
StpUtil.login(10001, false);
```
除了以上内容,第二个参数你还可以指定一个 `SaLoginParameter`,来详细控制登录的多个细节,例如:
``` java
StpUtil.login(10001, new SaLoginParameter()
.setDeviceType("PC") // 此次登录的客户端设备类型, 一般用于完成 [同端互斥登录] 功能
.setDeviceId("xxxxxxxxx") // 此次登录的客户端设备ID, 登录成功后该设备将标记为可信任设备
.setIsLastingCookie(true) // 是否为持久Cookie临时Cookie在浏览器关闭时会自动删除持久Cookie在重新打开后依然存在
.setTimeout(60 * 60 * 24 * 7) // 指定此次登录 token 的有效期, 单位:秒,-1=永久有效
.setActiveTimeout(60 * 60 * 24 * 7) // 指定此次登录 token 的最低活跃频率, 单位:秒,-1=不进行活跃检查
.setIsConcurrent(true) // 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
.setIsShare(true) // 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个token, 为 false 时每次登录新建一个 token
.setMaxLoginCount(12) // 同一账号最大登录数量,-1代表不限 (只有在 isConcurrent=true, isShare=false 时此配置项才有意义)
.setMaxTryTimes(12) // 在每次创建 token 时的最高循环次数,用于保证 token 唯一性(-1=不循环尝试,直接使用)
.setExtra("key", "value") // 记录在 Token 上的扩展参数(只在 jwt 模式下生效)
.setToken("xxxx-xxxx-xxxx-xxxx") // 预定此次登录的生成的Token
.setIsWriteHeader(false) // 是否在登录后将 Token 写入到响应头
.setTerminalExtra("key", "value")// 本次登录挂载到 SaTerminalInfo 的自定义扩展数据
);
```
以上大部分参数在未指定时将使用全局配置作为默认值。