请教:session失效时间配置及用户登录态拦截判断的问题

在JFinal-layui项目中,关于session登录态失效的问题,想请教一下@JFinal:

1)session的过期时间在哪里控制,我根据百度查找的资料(https://blog.csdn.net/zhangjq520/article/details/53647369),配置并没有生效。

2)SessionInterceptor里默认有用户登录态失效后重新登录的code,但是我自己新建的页面,好像没有被拦截住,还是会直接访问页面了。


请问有什么解决思路吗?万分感谢抱拳!

评论区

JFinal

2022-03-04 18:24

文档中都有:
https://jfinal.com/doc/1-4

6、配置 session
# session 过期时间,注意单位是秒
undertow.session.timeout=1800
# 支持 session 热加载,避免依赖于 session 的登录型项目反复登录,默认值为 true。仅用于 devMode,生产环境无影响
undertow.session.hotSwap=true

旋转空竹

2022-03-04 18:51

收到,谢谢。并且注意到“Undertow 是为嵌入而生的 Web Server,web.xml 已被抛弃,所以无法通过 web.xml 配置 web 组件。”

JFinal

2022-03-04 19:24

@旋转空竹 现在一般都不玩容器自己的 session 了,容器的 session 断电重启后会丢失

如果访问量大,可以用 redis,单体项目可以用 ehcache 这类支持持久化的缓存

我一般会将 session 存到数据库(存放过期时间、sessionId、userId),然后中间用缓存提速

旋转空竹

2022-03-05 10:27

@JFinal 嗯嗯,学习了👍。用户登录态的现在还是用session技术为主吧?分布式部署session共享时用redis?

热门反馈

扫码入社