Update Session

master
yutent 2023-11-02 18:09:34 +08:00
parent ad3c99361b
commit c6ab6fe2c4
1 changed files with 11 additions and 12 deletions

@ -1,4 +1,4 @@
## 会话(Session)
# 会话(Session)
> 框架的会话系统, 是基于redis存储的, 所以如果开启session, 机器上必须有安装redis。
>> Session对cookie有依赖, 会写入一个NODESSID的cookie。
@ -10,9 +10,8 @@
```js
session: {
enabled: false,
ttl: 3600 * 24 * 7,
domain: '', // NODESSID域, 默认等于domain
domain: '', // NODESSID域
level: 0, // 校验级别, 0: 不校验客户端, 2: ua, 4: ip, 6: ua + ip
db: {
host: '127.0.0.1',
@ -24,22 +23,22 @@ session: {
+ enabled `<Boolean>` 这个没啥可说的了, 就是一开关。
+ ttl `<Number>` 有效期, 单位秒, 默认7天, 客户端一直有请求时, 会实时更新有效期。
+ domain `<String>` 对应的ssid的cookie域, 默认继承项目的域。
+ domain `<String>` 【必须】对应的ssid的cookie域。
+ level `<Number>` 安全校验等级, 默认不校验, 即只要拿到ssid, 无论是谁请求都是合法的; 可根据业务需要, 设置相应的安全校验, 如, useragent、 ip。
+ db `<Object>` redis的连接配置
框架默认已经安装了会话拓展包, 但是并未启用; 且在[控制器基类](https://github.com/bytedo/gmf.core/wiki/Controller)中封装了一个操作session的方法, 一般情况下, 只需要关心那个方法的使用即可。
框架默认已经安装了会话拓展包, 但是并未启用; 且在[控制器基类](/wiki/Controller)中封装了一个操作session的方法, 一般情况下, 只需要关心那个方法的使用即可。
如果有兴趣session封装实现的, 可以继续往下看。
```js
import { createSession, SessionModule } from '@gm5/session'
未完待续...
app
.install(SessionModule, { domain: 'example.com' })
.use(createSession())
```
----
上一节: [⟪Response⟫](https://github.com/bytedo/gmf.core/wiki/Response)
下一节: [⟪Json Web Token⟫](https://github.com/bytedo/gmf.core/wiki/Jwt)