eova的session超时后登录窗口显示问题
星辰变 发布于96月前 3答/1672阅

我想实现的功能:
session超时后,登录页面应该在独立窗口显示

过程中遇到的问题:
在使用eova开发的过程中,如果长时间不操作,或者tomcat重新启动后,原来打开的页面,在点击菜单后,会在tab标签页打开登录窗口。

我的分析过程如下:
应该是eova在session处理时,前端跳转到登录页面时,没有location到父窗口打开登录页,而是在当前标签页打开登录页,这个应该是一个小bug。


[沙发] Jieven
代码里写了这样的处理,但有时候会失效,你有更好的方案吗?
[地板] 星辰变
建议采用采用后台返回给前台时,直接用javascript进行跳转,经过测试可行,修改LoginInterceptor的intercept方法,代码如下:
// 获取登录用户的角色
		User user = inv.getController().getSessionAttr("user");
		if (user == null) {
			//inv.getController().redirect("/toLogin");
			try {
				HttpServletRequest request = inv.getController().getRequest();
				HttpServletResponse response = inv.getController().getResponse();
				response.getWriter().write("");
				response.getWriter().flush();
				response.getWriter().close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
			return;
		}
[地毯] 核桃小王子
我最近的解决方案如下:
http://www.eova.cn/qa/detail/277
提交评论
嘿,我来帮你!