🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一. **独立 SESSION** **1.模块和插件(包含api)均使用独立会话模式** (提示: 我们可以看程序的入口执行流程来观察session配置载入); # **2. 配置说明** 模块session配置路径: /app/模块/config/session.php 插件session配置路径: /plugins/插件/config/session.php # **4. 独立session数据隔离** 使用独立session的模块和插件,在获取session时,是无法读取其它模块和插件的session数据的,但是有时业务有需求:比如需要得到用户的登陆状态,那么在获取这些登陆状态前,需重载session配置,比如用户模块的sesson的前缀是空的,说明是储存在公共位置(/runtime/session/),那么我们重载的session的配置,前缀参数 “prefix”留空就行了。 # **5. 钩子与独立session说明** 举例:A模块和B插件 A模块使用了独立session并且储存地址不在公共位置,那么在使用钩子挂载B插件入口运行(即runHook函数调用)时,该B插件入口使用session储存和读取时,会沿用A模块的session配置; B插件的前端(home)和后台(admin)入口的,则不受影响. # **6.模块与独立session说明** 模块在使用独立session时,配置里面必须过滤下后台入口,举例如:hicms/config/session.php ``` if(!defined('ADMIN_ENTRANCE')){ return [ 'name' => 'PHPSESSID', 'var_session_id' => '', 'type' => 'file', 'store' => null, 'expire' => 3600, 'prefix' => 'hicms', ]; } ```