web系统的权限失效时页面间的控制
环境:jsp java struts
背景:
1、登录后,进入系统主界面index。
2、在主界面有该用户可用的各种操作的连接,点击不同的连接,在打开新窗口中展示要操作的内容。
3、可以同时打开多个操作窗口,操作不同的内容。
问题:
权限管理。在一个窗口中进行操作,如果判断到此时用户的登录信息过期,session失效。如何关闭所有窗口,给用户展示一个登录界面。
解决方案:
1、主界面index中加入如下代码,以便知道主页面所在窗口的名子
gotoLawless.jsp:
5、在struts-config.xml中对上面两个jsp配置两个转向,名子与文件相同(不带扩展)
6、可在程序中加入如下代码来判断用户登录信息是否还有效,如要在action中加入://*****登录有效性及权限验证**************** String sUser_name=""; try{ sUser_name = request.getSession().getAttribute("user_name").toString(); if(!(new Purview()).canAccess(sUser_name, Purview.SYS_CHANGE_PW, "")) return mapping.findForward("gotoLawless");//如果无权限,则转此 }catch (Exception e) { return mapping.findForward("gotoLogin");//如果session失效,则进行此操作 } //**********************************************************
1 楼 mouzeming 2012-04-25 你是用Struts2还是1啊?如果是2的话直接用拦截器判断当前session是否失效不就行了吗?? 2 楼 ljf_home 2012-04-25 mouzeming 写道你是用Struts2还是1啊?如果是2的话直接用拦截器判断当前session是否失效不就行了吗??
是struts1,这里主要说明的不是如何拦截,而是说明一个各个窗口间的控制,即失效时如何关闭所有的打开窗口。