多應(yīng)用session插件

v2.1.0
版本
2025-02-09
版本更新時(shí)間
984
安裝
3
star
簡(jiǎn)介
多應(yīng)用session插件,可以為不同的應(yīng)用設(shè)置不同的session配置
安裝
composer require webman/multi-session
注意
要求workerman/webman-framework >= 1.3.12
workerman/workerman: ^4.0.36
使用
session配置文件在 config/plugin/webman/multi-session/session.php
<?php
return [
// 以請(qǐng)求路徑區(qū)分不同session配置,路徑必須以 / 開頭
'/admin' => [
'lifetime' => 7*24*60*60, // session過期時(shí)間
'cookie_lifetime' => 7*24*60*60, // cookie過期時(shí)間
'http_only' => true, // 建議為true,開啟后js無法獲取cookie內(nèi)容
'domain' => '', // cookie域名,留空即可
'secure' => false, // cookie只能用https協(xié)議發(fā)送給服務(wù)器,默認(rèn)false
'gc_probability' => [1, 1000], // 千分之一的紀(jì)律觸發(fā)session回收檢查
'same_site' => '', // 默認(rèn)留空,也可以是Strict或Lax或者None
],
'/api' => [
'lifetime' => 7*24*60*60,
'cookie_lifetime' => 7*24*60*60,
'http_only' => true,
'domain' => '',
'secure' => false,
'gc_probability' => [1, 1000],
'same_site' => '',
]
];
以上配置,
如果請(qǐng)求的url的path路徑是以/admin
開頭,則使用/admin
對(duì)應(yīng)的session配置;
如果請(qǐng)求的url的path路徑是以/api
開頭,則使用/api
對(duì)應(yīng)的session配置;
如果請(qǐng)求的path路徑不匹配任何配置,則默認(rèn)使用 config/session.php
中的配置。
注意
本插件是基于全局中間件實(shí)現(xiàn)的,如果你有自己的全局中間件,由于中間件順序問題,你的全局中間件里可能無法按預(yù)期使用session,則請(qǐng)參考以下步驟重新設(shè)置本插件中間件,讓本插件的中間件優(yōu)先于所有的全局中間件。
- 刪除
config/plugin/webman/multi-session/middleware.php
- 在
config/middleware.php
里配置里首部添加如下配置
return [
'' => [
Webman\MultiSession\Middleware::class, // 注意在首部添加,讓其優(yōu)先于其它全局中間件
// ... 這里省略了其它配置...
]
];