sa-token/sa-token-doc/doc/use/config.md

77 lines
3.1 KiB
Markdown
Raw Normal View History

2020-02-06 00:52:49 +08:00
# 框架配置
- 你可以零配置启动框架
2020-09-07 02:21:35 +08:00
- 但同时你也可以通过配置,定制性使用框架,`sa-token`支持多种方式配置框架信息
2020-02-06 00:52:49 +08:00
---
### 所有可配置项
2020-09-07 02:21:35 +08:00
| 参数名称 | 类型 | 默认值 | 说明 |
| :-------- | :-------- | :-------- | :-------- |
| tokenName | String | satoken | token名称同时也是cookie名称 |
| timeout | long | 2592000 | token有效期单位s 默认30天 |
| isShare | Boolean | true | 在多人登录同一账号时是否共享会话为true时共用一个为false时新登录挤掉旧登录|
| isReadBody | Boolean | true | 是否尝试从请求体里读取token |
| isReadHead | Boolean | true | 是否尝试从header里读取token |
| isReadCookie | Boolean | true | 是否尝试从cookie里读取token |
2020-12-18 00:39:14 +08:00
| tokenStyle | String | uuid | token风格, 参考:[花式token](/use/token-style) |
2020-09-07 02:21:35 +08:00
| isV | Boolean | true | 是否在初始化配置时打印版本字符画 |
2020-02-06 00:52:49 +08:00
### 方式1、通过代码配置
``` java
/**
* sa-token代码方式进行配置
*/
@Configuration
public class MySaTokenConfig {
2020-09-07 02:21:35 +08:00
// 获取配置Bean (以代码的方式配置sa-token)
2020-02-06 00:52:49 +08:00
@Primary
@Bean(name="MySaTokenConfig")
public SaTokenConfig getSaTokenConfig() {
SaTokenConfig config = new SaTokenConfig();
2020-09-07 02:21:35 +08:00
config.setTokenName("satoken"); // token名称 (同时也是cookie名称)
2020-05-02 15:19:55 +08:00
config.setTimeout(30 * 24 * 60 * 60); // token有效期单位s 默认30天
2020-09-07 02:21:35 +08:00
config.setIsShare(true); // 在多人登录同一账号时,是否共享会话 (为true时共用一个为false时新登录挤掉旧登录)
config.setIsReadBody(true); // 是否尝试从请求体里读取token
config.setIsReadHead(true); // 是否尝试从header里读取token
config.setIsReadCookie(true); // 是否尝试从cookie里读取token
2020-12-18 00:39:14 +08:00
config.setTokenStyle("uuid"); // token风格
2020-02-06 00:52:49 +08:00
config.setIsV(true); // 是否在初始化配置时打印版本字符画
return config;
}
}
```
### 方式2、在`application.yml`配置
``` java
spring:
# sa-token配置
sa-token:
2020-09-07 02:21:35 +08:00
# token名称 (同时也是cookie名称)
2020-02-06 00:52:49 +08:00
token-name: satoken
2020-05-02 15:19:55 +08:00
# token有效期单位s 默认30天
2020-02-06 00:52:49 +08:00
timeout: 2592000
2020-09-07 02:21:35 +08:00
# 在多人登录同一账号时,是否共享会话 (为true时共用一个为false时新登录挤掉旧登录)
2020-02-06 00:52:49 +08:00
is-share: true
2020-09-07 02:21:35 +08:00
# 是否尝试从请求体里读取token
2020-02-06 00:52:49 +08:00
is-read-body: true
2020-09-07 02:21:35 +08:00
# 是否尝试从header里读取token
is-read-head: true
# 是否尝试从cookie里读取token
is-read-cookie: true
2020-12-18 00:39:14 +08:00
# token风格
token-style: uuid
2020-02-06 00:52:49 +08:00
# 是否在初始化配置时打印版本字符画
is-v: true
```
- 如果你习惯于 `application.properties` 类型的配置文件,那也很好办:
- 百度: [springboot properties与yml 配置文件的区别](https://www.baidu.com/s?ie=UTF-8&wd=springboot%20properties%E4%B8%8Eyml%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%9A%84%E5%8C%BA%E5%88%AB)