`
Virgo_S
  • 浏览: 1154019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

搭建基于角色的权限控制系统

    博客分类:
  • JAVA
阅读更多
安全永远是WEB应用系统必须面对的头等大事, 也是最头疼的事, 其实安全系统就只包括两个问题: 认证和授权. 网管下载dl.bitscn.com

        以前做些网站系统, 安全检测逻辑都在放在须要安全控制的代码前面, 这样做有很多不好的地方, 重复多次的编码就不用说了, 代码移植性, 重用性都得不到体现, 安全检测逻辑要永远和业务逻辑放在一起. 网管下载dl.bitscn.com

        那么, 能不能够在进入方法前就调用一些安全检测? 其实Spring AOP就是这个思想, 那么又如何实现安全检测呢? Spring Acegi Security 框架就是做这个事情.

中国网管论坛bbs.bitsCN.com

         本文主要是讨论下在已有的SSH系统中, 如何使用Acegi作为安全框架实现基于角色的权限控制(Role Based Access Control RBAC) , 本文主要是以Java 5注解的形式来配置安全框架, 大大减化配置和操作. 网管u家u.bitsCN.com

        本文的主要参考资料: <Spring 2.0 核心技术与最佳实践> 第10章 (Spring Acegi 安全框架) 网管bitscn_com

                    <精通Spring 2.X -- 企业应用开发详解> 第17章 (使用Acegi 实施应用系统安全)

网管bitscn_com

                    acegi-security-1.0.6 官方文档

网管网www_bitscn_com


        说明: 本文介绍的是RBAC, 在官方文档的基础上有所扩展或改动, 以更适合WEB应用系统. 其实我觉得大多数的网站基于角色已经足够了, 一般都没必要基于权限.

网管u家u.bitsCN.com


         文章开始: 网管论坛bbs_bitsCN_com

    一. 下载所要的软件或JAR包:

网管网www_bitscn_com

        我的相关配置是: Java 5, Tomcat 5.5.26, Struts 2.0.11, Spring 2.5.1, Hibernate 3.2, Acegi 1.0.6

中国网管联盟bitsCN.com

    二. 建立相关的数据库:

网管论坛bbs_bitsCN_com

         数据表: 用户信息表User: id, enable, user_name, user_pass, email_box

网管论坛bbs_bitsCN_com


                     角色信息表RoleInfo: id, role_name, role_title, descp 中国网管论坛bbs.bitsCN.com

                     用户与角色关联表(用户与角色是多对多关系)UserRole: user_id, user_name, role_id, role_name

网管u家u.bitsCN.com

                    并在这三个表中插入相关的数据, 我是定义了两种角色(role_name): ROLE_USER, ROLE_ADMIN 网管联盟bitsCN_com

                    和三个用户, 一个用户角色为: ROLE_USER, ROLE_ADMIN

网管联盟bitsCN@com

                     另一个用户角色为: ROLE_USER 中国网管论坛bbs.bitsCN.com

                    第三个没有角色.

网管u家u.bitscn@com


    二. 修改配置文件: 网管联盟bitsCN_com

        其实对Acegi框架的应用难点就在配置文件, 所以要特别注意了: 中国网管论坛bbs.bitsCN.com

        在 src 建立Acegi的配置文件: acegi-security.xml 当然这个文件的名称是可以任意的.
【转自www.bitsCN.com】
分享到:
评论

相关推荐

    Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统

    Acegi(现已被Spring Security替代)是一个强大的安全框架,可以与Spring、Hibernate和Struts 2等其他技术结合,实现基于角色的权限控制(Role-Based Access Control, RBAC)。这篇文档将探讨如何使用Acegi,以及SSH...

    基于角色访问控制

    基于角色的访问控制(RBAC)是一种流行的权限管理和安全模型,它将权限与角色关联,而非直接与个体用户关联。RBAC模型的主要优点包括易管理性、灵活性和安全性。 ### RBAC模型的组件 1. **用户(User)**:系统的...

    C# WinForm角色的权限菜单-源码.zip

    "C# WinForm角色的权限菜单-源码.zip"提供了一个实现基于角色的权限菜单功能的完整解决方案,适合那些需要在Windows桌面应用程序中进行权限控制的开发者。下面我们将详细探讨这个主题。 1. **角色权限设计**: ...

    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建.zip

    总结来说,这个项目涉及了SpringBoot的微服务架构、Apache Shiro的安全管理,以及基于角色的权限控制。通过合理的配置和编程,我们可以从零开始搭建一个完整的RBAC系统,这对于提升个人的IT技能和理解企业级应用的...

    基于springcloud+springboot+vue搭建的权限管理系统

    为了帮助企业方便快捷地...角色管理模块,通过权限关联与控制给用户赋予角色(管理员角色和普通用户角色);资源权限管理模块给不同的角色关联不同的资源权限;基本数据的管理即可以对商品以及订单信息进行CRUD操作。

    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建+源代码+文档说明

    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建 ================= #### 1 . 这是基于SpringBoot和Shiro实现的一个角色权限访问控制(RBAC)的系统。 基本描述 : 1 . 一个用户具有一...

    ssm框架角色权限管理系统脚手架

    这个"ssm框架角色权限管理系统脚手架"是一个基础的后台管理系统,适用于快速搭建具备用户角色和权限控制功能的应用。下面将详细阐述这个系统的核心知识点: 1. **Spring框架**: - **依赖注入(DI)**:Spring的...

    ssh2权限控制系统

    Acegi_Spring_Hibernate_Struts2搭建基于角色的权限控制系统.doc

    用flask搭建系统的权限控制部分后端.zip

    在这个权限控制系统中,可能涉及的角色有管理员、普通用户等,每个角色可能有不同的权限级别。权限控制可能通过装饰器或者基于角色的访问控制(RBAC)来实现,允许开发者定义不同角色可以访问的URL和操作。数据库中...

    用户角色权限管理模块

    在IT系统设计中,用户角色权限管理模块是一个至关重要的组成部分,它主要负责维护系统的安全性和访问控制。这个模块确保了不同类型的用户只能访问他们被授权的功能和数据,从而保护了系统的完整性并提升了用户体验。...

    基于C#+ASP.NET实现的通用权限管理系统(FrameWork) 1.0.5 源码发布

    "通用权限管理"标签表明该系统设计的目标是提供一种广泛适用的解决方案,可以在各种不同类型的Web应用中进行权限控制。这样的系统通常具备以下特点: 1. **用户管理**:注册、登录、密码找回、用户资料管理等。 2. ...

    毕业设计:基于ASP.NET MVC搭建的通用权限后台管理系统.zip

    这个特定的毕业设计是基于ASP.NET MVC框架构建的通用权限后台管理系统,它涵盖了用户认证、角色管理和权限控制等核心功能,是学习和实践Web应用程序开发的典型实例。 【知识点详解】 1. ASP.NET:ASP.NET是由微软...

    基于.net三层架构技术 用户-角色-权限 的权限控制

    本项目是基于.NET框架实现的办公自动化系统(OA系统),它利用了三层架构技术进行设计,并且整合了jQuery库,实现了用户-角色-权限的精细权限控制。 **表现层(UI)**:这是用户与系统交互的界面,负责显示数据和...

    PHP权限管理系统源码

    实现了基本的权限管理,本系统是基于权限节点进行认证,可控制菜单显示隐藏,基于角色控制权限节点。 1、前端框架:layui2.5.6 2、后端框架:ThinkPHP5.1.39LTS 3、后端界面基于layuimini 权限管理系统安装教程: 1...

    基于ThinkPHP5.1框架,基础的后台管理系统,包含MVC验证器等自动生成,角色权限等.zip

    综上所述,这个项目提供了一个基于ThinkPHP5.1框架的后台管理系统,具有MVC架构和自动验证功能,同时实现了角色权限管理。它使用了Git进行版本控制,Composer管理依赖,Travis CI进行持续集成,并遵循特定的开源许可...

    基于角色的权限系码.zip

    《基于角色的权限管理系统》是Java编程领域中的一个重要实践项目,尤其对于计算机科学与技术专业的学生来说,无论是作为毕业设计还是课程设计,都是一个非常有价值的课题。本文将深入解析该系统的实现原理及其关键...

    权限控制系统

    运行这个脚本后,权限控制系统的数据环境会被搭建起来,为Shiro提供数据支持。 而`numberone-auth.zip`文件则包含着项目的源代码和配置文件,开发者可以解压后进行研究和学习。尽管代码注释较少,但通过阅读源码,...

    基于SpringBoot的权限管理系统

    它能轻松实现登录验证、角色权限控制等功能。 3. **MyBatis**:持久层框架MyBatis负责数据访问,通过XML或注解的方式将SQL与Java代码绑定,避免了JDBC的繁琐操作,同时保持了灵活的SQL编写能力。 4. **MVC架构**:...

Global site tag (gtag.js) - Google Analytics