多策略支持的安全网页标签库系统技术方案

技术编号:4287658 阅读:243 留言:0更新日期:2012-04-11 18:40
一种多策略支持的安全Java Web应用页面标签库系统,包括安全登录模块、安全上下文服务模块、策略定义文档、Web安全服务器组件、Web安全响应生成器、安全标签库以及响应页面。该系统能够提供Web页面中受安全访问控制的各种页面标签,基本上涵盖JSP标签库的所有页面标签的表现形式,为开发者提供一套集安全访问控制功能在内的,高效、完整的页面开发标签库。本发明专利技术提出的多策略支持安全Java Web应用页面标签库导入安装后除了能够完成基本的页面HTML控件显示功能,而且还可以根据用户自身的权限来显示该用户可见和可用的资源,且不需要开发者进行额外的编码工作。

【技术实现步骤摘要】

本专利技术属于计算机信息安全技术,具体涉及一种基于访问控制的Web 页面安全标签库,该系统是对现有的Web页面标签库的改进,能够对Web 页面上的各种页面元素进行安全控制,根据各个网站对用户的授权,页面 元素会针对用户的权限显示出特定的内容。
技术介绍
随着软件设计技术的不断发展和提高,尤其是针对Web应用开发的效 率和敏捷灵活性的要求越来越高,快速应用开发技术(RAD, Rapid Application Development)日益成为实际工程开发领域的热点技术。RAD的 核心思想是通过一整套可重用的组件来开发出功能强大的应用程序。人们 熟知的Visual Basic、 PowerBuilder以及Dephi等都是利用了 RAD的组件重 用思想从而大大地提高了应用程序的开发效率,使得原本复杂繁琐的用户 界面设计以及数据访问实现过程大大简化。访问控制技术在提高资源安全性的同时,也为Web页面的开发设置了 障碍。原本可以直接用页面的模板、脚本、指令以及动作元素就可以实现 的页面显示,现在要花上很多的时间来开发与用户权限相关的控制逻辑, 而且Web系统的权限控制往往体现在页面元素的可见与不可见,可用与不 可用,以及显示用户权限许可范围内可见的内容上。实现Web系统权限控 制的程序代码往往具有很强的可重用性,而且占据了整个Web系统设计与 开发近30%的工作量。如果Web系统业务流程复杂,而且功能模块繁多, 那么权限控制部分的代码量也会随之增加。并且这部分代码重用性大,不同的Web系统,或者是同一 Web系统的不同功能模块上也会出现重复性的 代码,给开发人员带来许多额外的负担。传统Web系统权限控制部分开发流程包含以下步骤(1) 定义系统中受保护的资源清单。(2) 定义系统中的用户以及用户组。(3) 根据用户和资源,定义系统中的访问控制策略,包括权限以及角色。(4) 针对Web系统开发页面过滤器,或直接对页面初始化部分进行编码, 根据访问控制策略限制用户对页面的访问。这部分开发与系统的业务流程相对独立,但是现有的有权限管理的 Web系统都在重复以上的开发。首先,这种开发给设计人员和程序编制人 员带来了重复的,不必要工作量,增加的系统的开发成本。其次,给系统 和代码的维护带来了不必要的困难。由美国Interface21公司于2004年提出的Acegi(Spring Security)项目, 如今已成为Spring框架下取代原生Java EE安全编程模型的安全框架。其 支持Java EE规范给定的各种人政策略,主要包括基于表单(FORM)认证、 基于BASIC认证、基于摘要(DIGEST)认证、基于X.509(CLIENT-CERT)认 证。保护HTTP请求,即Web资源;保护服务层的业务方法,可针对任意 受管POJO;保护领域对象(Domain Instance);具有灵活的传输通道安全性, SSL/TSL;支持安全性上下文的远程传播,透明传播;提供JavaEE容器适 配器认证,支持Tomcat、 JBoss、 Resin、 Jetty等。但是没有提供控件级的 细粒度访问控制;实际工程中可能遇到RBAC需要与其他机制配合,Acegi 缺乏对策略集成的支持。不能满足安全等级等强制访问控制需求,对数据 资源的保护主要依赖于对Web页面、业务方法或领域的保护,仍不够灵活。 安全标签仅便于提供认证授权信息的收集和使用,除此没有更多意义
技术实现思路
本专利技术的目的在于提供一种多策略支持的安全Java Web应用页面标签 库系统,该系统能对Web页面元素提供控件级的细粒度访问控制,具有认 证方式灵活、兼容集中认证服务认证、组件设计和重用性强的特点。本专利技术提供的多策略支持的安全Java Web应用页面标签库系统,其特 征在于该系统包括安全登录模块、安全上下文服务模块、策略定义模块、 Web安全服务器组件、Web安全响应生成器和安全标签库;安全标签库中定义有一套能够在各种Java Web网页中导入的安全标签;安全登录模块用于提供对两种登录方式的支持-基于安全登录组件的单 域认证方式和CAS单点登录的兼容方式;安全登录模块负责用户身份认证, 通过认证的用户为合法用户;安全登录模块所控制的单点登录客户端部署 在受控资源的策略定义模块所定义的策略文档中;访问受安全登录模块控 制的节点受控资源的用户必须经过单点登录服务器端的安全认证;安全登 录模块接收用户的用户名和密码的输入,进行认证,产生认证结果,如果 认证通过,安全登录模块根据用户请求的页面链接将该用户认证通过标识 发送给安全上下文服务模块;安全上下文服务模块用于初始化登录用户的身份信息,并依据策略定 义模块的配置,针对不同授权策略,生成并存储相应的激活角色信息、安 全级别以及受管控件访问策略定位标识符,提供给相应的Web安全服务器 组件使用;策略定义模块用于负责定义并管理基于安全标签的访问控制的一套规 则,通过对xml格式的策略定义文档进行相应安全规则的设置及存取,该 模块负责提供对受管页面关键控件的访问控制规则,用于描述用户、角色、 权限、安全级以及这些安全元素之间的关系;Web安全服务器组件用于解析安全标签库的安全标签,在响应客户端请求时实现数据的安全绑定并根据安全上下文服务模块提供的安全配置动态加载响应页面的各种安全属性,将受控后的组件状态提供给Web安全响 应生成器;Web安全响应生成器裉据Web安全服务器组件提供的状态信息,决定 相应页面最后的呈现界面,将安全标签的格式转换为相应的目标标识语言 格式,为浏览器返回统一的安全响应页面。上述结构的系统能够提供系统中受安全访问控制的各种页面标签,基 本上涵盖JSP标签库的所有页面标签的表现形式,为开发者提供一套集安 全访问控制功能在内的,高效、完整的页面开发标签库。本系统针对安全 Java Web应用开发提出一套完整的RAD解决方案,包括设计实现一组可重 用的安全组件,用于封装带有安全属性的用户界面显示和数据访问功能, 同时提供相应的安全Web标签库支持,并利用渲染技术实现对安全组件标 签的标准HTML解析,使之适用于绝大部分的Web开发环境。在安全组件 提供安全属性的基础之上,利用XML语言定义并描述相应的安全策略部署 文档,同时支持基于角色的访问控制(RBAC)以及强制访问控制(MAC) 机制,并提供通过关系数据库(RDBMS)定义安全策略的扩展支持,实现 一套灵活便捷的基于组件粒度的安全访问控制实现机制。具体而言,本发 明具有如下优点-(1) 支持快速应用开发开发者只需要在页面中使用系统定义标签名 作为前缀定义其页面所需的各种控件,不需要开发额外的程序代码模块, 就可以实现控件级访问控制的需求。且标签使用灵活,可移植性强。(2) 控件级细粒度保护传统的应用系统的访问控制粒度一般来说不 外乎模块级和页面级,也就是说,其策略配置一般只制定用户对模块的访 问以及用户对页面的访问规则。本系统可以提供控件级的细粒度控制,可 以定义控件对当前用户可见还是不可见,可用还是不可用,以及对于当前用户,控件应该显示哪些权限范围内可访问的资源。(3) 认证方式灵活,兼容集中认证服务(CAS, Central Authentica本文档来自技高网
...

【技术保护点】
一种多策略支持的安全Java Web应用页面标签库系统,其特征在于:该系统包括安全登录模块(100)、安全上下文服务模块(200)、策略定义模块(300)、Web安全服务器组件(400)、Web安全响应生成器(500)和安全标签库(600); 安全标签库(600)中定义有一套能够在各种Java Web网页中导入的安全标签; 安全登录模块(100)用于提供对两种登录方式的支持-基于安全登录组件的单域认证方式和CAS单点登录的兼容方式;安全登录模块(100)负责用户身 份认证,通过认证的用户为合法用户;安全登录模块(100)所控制的单点登录客户端部署在受控资源的策略定义模块(300)所定义的策略文档中;访问受安全登录模块(100)控制的节点受控资源的用户必须经过单点登录服务器端的安全认证;安全登录模块(100)接收用户的用户名和密码的输入,进行认证,产生认证结果,如果认证通过,安全登录模块(100)根据用户请求的页面链接将该用户认证通过标识发送给安全上下文服务模块(200); 安全上下文服务模块(200)用于初始化登录用户的身份信息, 并依据策略定义模块(300)的配置,针对不同授权策略,生成并存储相应的激活角色信息、安全级别以及受管控件访问策略定位标识符,提供给相应的Web安全服务器组件(400)使用; 策略定义模块(300)用于负责定义并管理基于安全标签的访问控 制的一套规则,通过对xml格式的策略定义文档进行相应安全规则的设置及存取,该模块负责提供对受管页面关键控件的访问控制规则,用于描述用户、角色、权限、安全级以及这些安全元素之间的关系; Web安全服务器组件(400)用于解析安全标签库( 600)的安全标签,在响应客户端请求时实现数据的安全绑定并根据安全上下文服务模块(200)提供的安全配置动态加载响应页面的各种安全属性,将受控后的组件状态提供给Web安全响应生成器(500); Web安全响应生成器(500)根据Web 安全服务器组件提供的状态信息,决定相应页面最后的呈现界面,将安全标签的格式转换为相应的目标标识语言格式,为浏览器返回统一的安全响应页面。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李瑞轩卢正鼎刘彬唐卓鲁剑锋胡劲纬
申请(专利权)人:华中科技大学
类型:发明
国别省市:83[中国|武汉]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1