`

web系统的权限失效时页面间的控制

阅读更多
环境:jsp   java   struts

背景:
1、登录后,进入系统主界面index。
2、在主界面有该用户可用的各种操作的连接,点击不同的连接,在打开新窗口中展示要操作的内容。
3、可以同时打开多个操作窗口,操作不同的内容。

问题:
权限管理。在一个窗口中进行操作,如果判断到此时用户的登录信息过期,session失效。如何关闭所有窗口,给用户展示一个登录界面。

解决方案:
1、主界面index中加入如下代码,以便知道主页面所在窗口的名子
<script language="javascript">
   window.opener=null;
   window.name="webIC";
</script>

2、主界面index中加入如下代码,用于在主窗口关闭时调用 。它关闭了所有由它打开的窗口。
<script type="text/javascript">
   
var winMap = new Object();
window.onunload = function() 
{
       
    for(var propName in winMap) 
    {
        try
        {                
         winMap[propName].close(); 
        }
        catch(e) 
        {
                
        }           
    }
}
</script>


3、主界面index中加入如下JS函数,用于打开所有的连接。将打开窗口的信息记录在案。
<script language="javascript">
    function openWin(aa,name)
    {
     var winName = name;
     var win;
     win = winMap[winName];
      try 
    {
             win.focus();            
       }
   catch(e) 
   {                  
             win = window.open(aa,winName,"height=450,width=700,status=yes,toolbar=no,menuba=no,location=no,resizable=yes,scrollbars=yes");
             winMap[winName] = win;
            
             if(!win)
    { 
                 alert("Sorry, fail to open the window.Some unexpected error occurs."); 
             }
             else 
    {                    
                 win.focus();
             }
             
        } 
    
    }
</script>


4、建立两个jsp文件,分别用来转向session失效操作和无权限操作

gotoLogin.jsp:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<!--跳转到登录页面,之所以在此做以跳转,而不在后面直接跳转,主要考虑到对窗口样式不同-->
<script language="javascript">

    var aa=window.open("","webIC");
    aa.close();//关闭index窗口。由于上面2,3的设置,所以关闭主页时所有了子页也将关闭
   
   window.open("./show.do?method=getLogin","","");//打开新窗口,转到login界面
   window.opener=null;
   setTimeout('window.close();','1');//自关闭
</script>


gotoLawless.jsp:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<!--跳转到非法提示,之所以在此做以跳转,而不在后面直接跳转,主要考虑到对窗口样式不同-->
<script language="javascript">

   window.open("./show.do?method=getLawless","","height=200,width=400,status=yes,toolbar=no,menuba=no,location=no,resizable=no,scrollbars=no");
   window.opener=null;
   setTimeout('window.close();','1');
</script>


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失效,则进行此操作
   } 
 //**********************************************************



0
2
分享到:
评论
2 楼 ljf_home 2012-04-25  
mouzeming 写道
你是用Struts2还是1啊?如果是2的话直接用拦截器判断当前session是否失效不就行了吗??

是struts1,这里主要说明的不是如何拦截,而是说明一个各个窗口间的控制,即失效时如何关闭所有的打开窗口。
1 楼 mouzeming 2012-04-25  
你是用Struts2还是1啊?如果是2的话直接用拦截器判断当前session是否失效不就行了吗??

相关推荐

    网页链接失效

    在探讨“网页链接失效”这一主题时,我们不仅触及了网络资源的易变性,还深入到了计算机系统内部,特别是Windows环境下与网络浏览器相关的组件及其潜在的修复方法。以下是对标题、描述及部分提及内容的详细解读,...

    JSP页面的访问控制

    **JSP页面的访问控制**是指在基于JavaServer Pages(JSP)技术构建的Web应用程序中,对用户访问特定页面或资源的权限进行管理的一种机制。这种机制通常用于确保只有经过身份验证和授权的用户才能访问受保护的内容,...

    Web开发安全规范

    - **跨站脚本(XSS)**:攻击者利用受害者浏览器信任Web应用的特点,在页面中插入恶意脚本。 - **跨站请求伪造(CSRF)**:攻击者诱使用户执行非本意的操作。 - **安全配置错误**:不安全的默认配置、不完整的功能实现等...

    系统aweb测试

    在进行系统aweb测试时,通常会执行以下步骤: 1. **需求分析**:理解Web应用的功能需求和非功能需求,如性能指标、安全规范等。 2. **测试计划**:制定详细的测试策略,包括测试范围、资源分配、时间表和预期结果。...

    OWASP_Broken_Web_Apps_VM_1.2

    - **访问控制失效**:尝试水平和垂直权限提升攻击,理解不同级别的用户如何获取超出权限的功能。 - **安全配置错误**:通过寻找默认账户密码等配置错误,模拟攻击者如何利用这些信息进入系统。 - **XSS攻击**:创建...

    WEB安全测试大纲

    检查页面是否有防止CSRF的token,或者在权限失效后,同一浏览器的其他页面是否还能执行操作。 6. 用户账号,密码规则:包括防爆破机制(验证码、多次失败后锁定账户)、模糊错误提示、隐藏源代码中的密码、遵循...

    SSO 单点登录 权限管理

    综上,SSO单点登录与权限管理是现代企业IT架构中不可或缺的部分,它们提供了高效、安全的用户身份验证和资源访问控制,促进了跨系统的协同工作,并简化了IT管理。正确实施SSO和权限管理,不仅能够提升用户体验,还能...

    Jsp奖学金管理系统

    系统应具有完善的权限控制机制,确保只有授权的用户可以访问和操作奖学金信息。这可能涉及到角色与权限的映射、登录验证、页面访问权限检查等功能。 **八、异常处理** 良好的异常处理机制能提高系统的健壮性。JSP...

    web安全测试要点总结

    2. Authorization(授权):攻击者尝试获取不应有的权限,以执行未经授权的操作,如篡改用户数据或控制系统。 3. Client-Side Attacks(客户侧攻击):利用客户端漏洞,如JavaScript注入,影响用户浏览器。 4. ...

    ASP.NET 2.0中CSS失效的问题总结

    如果在未登录状态下样式失效,登录后恢复正常,原因可能是Web.config配置限制了匿名用户访问样式文件。可以通过在Web.config中添加标签,允许匿名用户访问样式文件夹或文件,如下所示: ```xml 允许匿名访问...

    web安全漏洞(上)_01.pdf

    Web安全漏洞是网络应用开发和运营中的重大关注点,这些漏洞可能导致数据泄露、系统瘫痪甚至法律风险。本文将详细探讨OWASP(开放式网络应用安全项目)2017年发布的十大Web安全风险,并以其中的SQL注入为例,阐述其...

    vue 实现axios拦截、页面跳转和token 验证

    在现代Web应用开发中,Vue.js已成为流行的前端框架之一,而axios是一个...这不仅能有效防止未经授权的用户访问敏感页面,还能提升用户的体验,使其在token失效时能即时地被引导进行登录,从而安全地访问受保护的路由。

    tomcat 权限验证

    在部署和运行Web应用时,权限验证是确保系统安全的关键环节。本篇将深入探讨Tomcat的权限验证机制,以及如何实现登录和注销功能。 Tomcat的权限验证主要依赖于其内置的安全组件,包括Realm和Role。Realm是Tomcat中...

    Spring Security 安全权限管理手册.pdf

    - 分析如何使用JSR250规范中的注解来控制方法权限。 **20. 权限管理的基本概念** - 继续深入探讨权限管理的核心概念和技术细节。 以上内容概述了《Spring Security 安全权限管理手册》的主要知识点,覆盖了从基础...

    WEB安全编程技术规范

    - **不安全的直接对象引用**:当应用程序允许用户直接访问内部对象(如数据库记录、文件或其他资源)而不进行适当的权限检查时,就会发生此类攻击。确保每个请求都经过身份验证和授权,是防范这种风险的有效手段。 ...

    文件管理系统 jsp

    7. **权限管理**:为了安全考虑,文件管理系统通常有权限控制,不同用户可能有不同的操作权限,如只读、读写等。 8. **目录浏览**:用户可以浏览文件夹结构,系统需提供目录树视图或列表视图。 9. **搜索功能**:...

    Java Web开发范例源代码

    Java Web开发范例源代码是学习和理解Java Web技术的重要资源,它包含了各种实际应用场景的实例,可以帮助开发者深入掌握相关技术。在这个压缩包中,我们可以找到一系列与Java Web相关的源代码,这对于初学者和有经验...

    JAVA做的考试系统

    - 题库维护功能允许查看所有题目,但没有实现权限控制,这可能是一个安全风险,实际应用中需要考虑不同用户角色的访问权限。 9-10. **分页与导航**: - 用户在题库中浏览时,系统实现了分页功能,通过点击“上一...

    webxml 的设置.doc

    使用`&lt;security-constraint&gt;`,`&lt;login-config&gt;`等元素可以进行权限控制,如定义受保护的Web资源,设置认证和授权机制。 9. **本地化支持** `&lt;locale-encoding-mapping-list&gt;`元素可以配置应用支持的本地化语言和...

    Yii2 rbac权限控制之菜单menu实例教程

    在Yii2中创建菜单是一个很常见的需求,而在实现RBAC权限控制时,菜单的权限控制就显得尤为重要,它能确保用户只能看到和访问他们有权限看到的菜单项。 在文章中提到的Yii2 rbac权限控制之菜单menu实例教程中,主要...

Global site tag (gtag.js) - Google Analytics