一种基于Struts框架的RBAC实现

1  引言

基于角色访问控制( role - based access control,RBAC) 是目前较为成熟的安全访问控制模型,它灵活地解决了权限管理、资源管理及权限审查问题,非常适合基于Web的信息系统。RBAC模型从理论上基本解决了系统用户访问控制的问题,但从技术实现的角度来看,不同的RBAC实现,对系统的开发及运行效率将有不同影响。本文结合Struts框架良好的MVC设计模式和RBAC灵活的权限管理的特点,提出一个基于Struts框架的RBAC的实现方案。方案较好地实现了RBAC模型,并实现了业务层与逻辑层的分离,具有较好的应用效果。

2  RBAC的基本原理

RBAC模型引入了“角色”的概念。所谓“角色”就是一个或一群用户在系统中可执行的操作的集合,它是一个用户的集合,又是一个授权许可的集合。通过将角色指派给用户,为角色赋予权限的方式,使用户和权限通过角色间接相联系。RBAC基本模型如图1所示。

 

图1  RBAC基本模型

在RBAC中,用户与角色之间、角色与权限之间都是多对多的关系。会话是一个用户对多个角色的映射,此时的用户权限可以为激活角色权限的并集。RBAC对资源授权管理过程分为两个部分,首先实现访问权限与角色相关联,然后再实现角色与用户相关联,从而实现了用户与访问权限的逻辑分离。

3  Struts简介

传统的以JSP页面为核心的开发模式由于表示逻辑和业务逻辑的强耦合,不利于应用扩展和更新,已不能满足应用规模的进一步扩大的需求。MVC设计模式将应用程序分为三个核心部分:模型、视图、控制器,它们各自处理各自的事务,很好地实现表示逻辑和业务逻辑的有机分离。Struts是MVC设计模式的一种实现框架,包含了丰富的标记库和独立于该框架工作的实用程序类,近年来被越来越多地运用于很多大型系统的实现,成为Web应用开发中最为流行的框架之一。简单的Struts体系结构如图2所示。

客户端通过浏览器发出请求后,请求被ActionServlet 获得, ActionServlet在Struts-config.xml配置文件中查找有效映射,然后将相应的ActionMapping对象转发给Action处理器对象进行处理。Action处理器对象访问ActionForm中的数据,处理和响应客户的请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action 处理器对象根据处理结果通知控制器,控制器进行下一步的处理。

 

图2  Struts体系结构

时间: 2025-01-24 19:41:38

一种基于Struts框架的RBAC实现的相关文章

Struts框架在小区物业管理系统中的应用

摘要  Struts提供了一个非常好的MVC框架,在Web应用开发中把界面和业务逻辑分离,提高了代码的可重用性和灵活性.文中首先介绍了Struts概念和体系结构,阐述了Struts的工作原理.然后介绍了小区物业管理系统各个功能模块以及整个系统基于Struts的开发流程.最后,通过一个应用示例,详细介绍了Struts框架在系统开发中的应用. 关键词  MVC:Struts框架:Web:物业管理系统:  前言  物业管理系统是近年来为适应小区建设和管理而兴起的一种新型产业,它的出现为住宅小区的现代化

Struts框架技术在J2EE中的研究和应用

j2ee 摘 要 简要介绍了J2EE技术及其应用程序架构的发展,论述了Struts框架的基本设计思想,分析了Struts框架开发系统的优点,并结合具体项目实现了Struts框架技术的应用. 关键词 J2EE:MVC:Struts:框架 J2EE简介 J2EE是一个开放的.基于标准的平台,可以开发.部署和管理N层结构的.面向Web的.以服务器为中心的企业级应用,它是利用Java 2 平台来简化与多级企业解决方案的开发.部署和管理相关的诸多复杂问题的应用体系结构. J2EE平台采用一个多层次分布式的

基于Struts技术的Web应用设计与实现

web|设计 摘要 Struts是目前Web开发中比较成熟的一种框架,本文阐述了基于MVC模型的Web应用软件开发框架struts的体系结构及主要组成组件,并结合一个实例讨论如何设计基于struts框架的应用,同时也分析了使用struts框架开发web应用的优势. 关键词 Struts:模型:视图:控制器 近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐.Struts是建立在当前动态网站设计领域中JSP.Servlet.XML

基于Struts技术的Web层应用设计和实现

web|设计 近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐.Struts是建立在当前动态网站设计领域中JSP.Servlet.XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化.灵活性和重用性的优点,同时极大地简化了Web应用程序的开发.它合理地将用户表示逻辑.业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性. Struts框架 1.Struts体系结构 Struts是一种基于

基于MVC模式的Struts框架概述

作者:yarshray   关键字: Java  J2EE  MVC  JSP  Servlet  MVC  Struts 内容简介:        MVC设计模式成为了目前十分流行的一种设计方法.它是一种软件的设计方法模式.并且被大量的开发和实践所证明.因此本文通过介绍Struts框架这种已经实现了MVC模式的软件构件框架了讨论该模式的优势和如何投入到软件开发中去.        本文内容注重理论和实践相结合,比较系统的从多层设计方式到分布式软件开发中所用到的技术,从而切入目前Sun公司退出的

基于MVC模式的Struts框架研究与应用

摘要: Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发.本文讨论了Struts框架实现MVC模式的原理与方法,给出了一个具体的应用实例. 分布式企业应用软件结构复杂.涉及多种技术,对设计开发人员提出了很高的要求.在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要.MVC模式已被证明是一种成功的软件设计模式,本文主要讨论了一种实现MVC模式的应用框架――Struts,并通过一个实例展示了Struts框架实现MVC模式的方法.

基于.NET平台的分层架构实战(九)—数据访问层的第三种实现:基于NBear框架

基于.NET平台的分层架构实战(九)-数据访问层的第三种实现:基于NBear框架的ORM实现 前面的文章讨论了使用SQL语句和存储过程两种数据访问层的实现方式,这一篇里,将讨论使用ORM方式实现数据访问层的方法. 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实

基于MVC模式Struts框架研究与应用详解

分布式企业应用软件结构复杂.涉及多种技术,对设计开发人员提出了很高的要求.在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要.MVC模式已被证明是一种成功的软件设计模式,本文主要讨论了一种实现MVC模式的应用框架――Struts,并通过一个实例展示了Struts框架实现MVC模式的方法. MVC设计模式 MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式

DockOne微信分享(一三一):Juice——一种基于MesosFramework的任务云框架

本文讲的是DockOne微信分享(一三一):Juice--一种基于MesosFramework的任务云框架[编者的话]近年来,随着Mesos在生产环境中的普及,使大规模的集群管理变得简单,而基于MesosFramework开发的Juice框架,能够完成分布式任务的分发,处理,对于资源利用率的提高有很大的帮助,今天就为大家介绍一下这套框架. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.D