SpringMVC3.1.1+Spring3.1.1+Hibernate4+Velocity+EasyUI+ZTree实现RBAC基于角色的访问控制(二)

本文涉及的产品
访问控制,不限时长
简介:

SpringMVC3.1.1+Spring3.1.1+Hibernate4+Velocity+EasyUI+ZTree实现RBAC基于角色的访问控制(二)


接着上文的写,我们来看看实体之间的关系,一共有五张数据库表,用户表、角色表、资源表,还两个关联表。


解释下图,一个用户关联一个角色(也可以关联多个,本文为了简单,只关联一个。),一个角色关联多种资源,这里的资源可以理解为我们的系统里面要执行的操作,比如一个添加用户的saveUser.do等。如图1所示。




wKiom1ODR8uDrzp7AAGlgk1phgg122.jpg

图1


先来看看大致实现了的效果图吧,首先是资源管理。对于资源的增、删、改、查。如图2所示。

wKioL1ODTHbxUD4DAAEKRNO4-_o063.jpg

图2

图2使用的是ztree来实现的,是动态使用json数据构造的一颗树。关于ztree的使用,后续的文章会说明,其实官方的文档写的就已经很详细了。图2中所示的“+”号,表示添加资源,后面两个图标分别是修改资源、删除资源,如果删除根节点,则所有的子节点、孙子节点都删除。删除之前给用户提示。

 这里说明下的是,这个ztree是可以拖拽子节点的,我这个实例里面没有实现这个功能,不过这个功能实现起来也简单,参见官方文档。


图3所示的是,添加角色功能,添加角色,同时给角色关联相应的资源。这个树,也是动态的构造出来的。

wKiom1ODS6SB3KDJAAG9wtB0lps847.jpg

图3


图4所示的是给用户授权,选择用户的角色,然后保存几个,这个用户就关联了角色,并拥有了角色相应的权限。这个下拉的菜单也是动态填充的。


wKioL1ODSnKjP-gdAACb9MRMIv4117.jpg

图4

关于图5 就是角色列表,用于管理,没有什么太多的需要说明的。


wKiom1ODTMHCUngDAAGBYGMTsNQ205.jpg

图5


本系列文章,想实现的功能是,对于没权限的用户来说,登录进系统后,

1、无权限的不显示

    这种是最基本的权限的处理了,这里会借助velocity来实现。

2、无权限,登录之后,在地址栏输入xxx.do 同样也要拦截提示用户无权限。

   关于第二点,有的只是做了针对无权限不显示的这种,其实这种很明显有一个缺点,就是,如果用户登录之后,且没对某一资源操作的权限,但是,他知道你请求的.do的地址,有的同志会说,我的action 其他人怎么会知道,其实,一般多猜测,借助第三方工具也是可以弄到的。


本文到此结束,下面的文章,讲开始整个系统的构建。






 本文转自 w156445045 51CTO博客,原文链接:http://blog.51cto.com/enetq/1417352,如需转载请自行联系原作者

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
3月前
|
安全 数据安全/隐私保护 开发者
|
3月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
79 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
3月前
|
Java 数据库连接 数据库
Spring Data JPA 与 Hibernate 之区别
【8月更文挑战第21天】
70 0
|
4月前
|
存储 Shell API
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
Casbin是一个强大的、开源的访问控制库,支持访问控制模型如ACL、RBAC、ABAC等。
|
5月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
71 1
|
5月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
4月前
|
Java 数据库连接 数据库
如何在Spring Boot中集成Hibernate
如何在Spring Boot中集成Hibernate
|
5月前
|
前端开发 Java 关系型数据库
在Spring3 MVC中五步配置集成注解方式Hibernate3
在Spring3 MVC中五步配置集成注解方式Hibernate3
39 3
|
5月前
|
XML Java Apache
必知的技术知识:HHS整合(Struts2+Spring+Hibernate)
必知的技术知识:HHS整合(Struts2+Spring+Hibernate)
37 0
|
5月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18