设置会话有效期
场景描述
用户登录门户,默认12小时过期,希望修改这个系统默认的时长
实现思路
通过新定义的app.m,重新注册login的authentication插件,设置新的有效期
实现步骤
1 定制门户
参考《开发手册-基础篇-桌面端门户-门户定制》文档
2 添加app.m文件
切换到代码页,在model/service/main目录下新建一个目录,目录名可以自定义,例如:expire,在这个目录下新建一个文件app.m,如下图所示
3 设置新的有效期
在app.m中添加如下代码,其中expire是有效期的值,单位是秒
<service order="999" target="kong2">
<plugin name="authentication" enabled="true" api_name="login">
<% raw %> <app_key>{{.Env.API_KEY}}</app_key><% endraw %>
<% raw %> <app_secret>{{.Env.API_SECRET}}</app_secret><% endraw %>
<expire>4800</expire>
<% raw %> <redis_timeout>{{.Env.AUTHENTICATION_REDIS_TIMEOUT}}</redis_timeout><% endraw %>
<% raw %> <redis_host>{{.Env.AUTHENTICATION_REDIS_HOST}}</redis_host>
<redis_port>{{.Env.AUTHENTICATION_REDIS_PORT}}</redis_port><% endraw %>
<% raw %> <redis_password>{{.Env.AUTHENTICATION_REDIS_PASSWORD}}</redis_password><% endraw %>
</plugin>
</service>
4 发布,重新登录
依次点保存、提交并更新、发布。
修改有效期前,在浏览器的开发人员工具中查看Cookie中的user_session的有效期为12小时(浏览器里面显示的是零时区时间)
修改有效期前,在浏览器的开发人员工具中查看Cookie中的user_session的有效期为1小时20分钟(浏览器里面显示的是零时区时间)