业务场景:后台设置session的时间是30分钟,前台不做请求,超时后自动跳回登陆页面。
之前说写拦截器,过滤器什么的可以控制,但那个还是要超时后,前端页面在发送请求,得不到session的相关信息判断为null,就跳回登陆了。
但我要的是不做操作,也要自动跳回。
现在解决的方法是在.home主页面写了个计时器,来监听鼠标和键盘事件。如果超时就自动跳回登陆页面。
可是觉得治标不治本。!!!
该如何写。
前端并不知道回话什么时候结束.
所以一定要发起一次请求.你去看看网上有哪个网站可以做到你说的?
就是在网上找了两天,后来在知乎上看到用前端来控制。设置session的生命周期也是达不到的,对吗?
@奶中有毒: 是的.因为你前端不知道回话什么时候过期.只有这一个原因.除非你做实时通信.但实时通信了.会话就用不会过期了.又没了意义
HTTP是无状态的,意味着SESSION超时的那个时刻,客户端一无所知(如果按你说的不发送新的请求的话)。
所以,你的问题无解。
遇到这样的问题,一般是怎解决的。
websocket,一直开着监听后端来的数据,然后如果有这个数据了,前端就跳转到登录页面。其它的接口使用webapi正常请求。
你这个就是无稽之谈了吧。一个登陆失效标识问题,还需要这么自动化嘛、又不是什么业务类。解决这个问题也很简单。 session失效,就把session信息推送前台。完成自动刷新。
session失效前提下,你还是要前端发送一次请求来判断是否失效吧。和我提的问题不一样了
@奶中有毒: 前端不用任何操作。,session失效,就推送这个动作。刷新登陆页面。