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,如需转载请自行联系原作者

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
13 0
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java
ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java
13 0
|
2月前
|
Shell
sh(Spring+Spring mvc+hibernate)——IEmpDao.java
sh(Spring+Spring mvc+hibernate)——IEmpDao.java
12 0
|
2月前
|
Shell
sh(Spring+Spring mvc+hibernate)——IDeptDao.java
sh(Spring+Spring mvc+hibernate)——IDeptDao.java
13 0
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——Dept.java
ssh(Spring+Spring mvc+hibernate)——Dept.java
12 0
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——showDept.jsp
ssh(Spring+Spring mvc+hibernate)——showDept.jsp
9 0
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——applicationContext.xml
ssh(Spring+Spring mvc+hibernate)——applicationContext.xml
8 0
|
2月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——EmpController
ssh(Spring+Spring mvc+hibernate)——EmpController
10 0
|
2月前
|
Shell
sh(Spring+Spring mvc+hibernate)——BaseDao.java
sh(Spring+Spring mvc+hibernate)——BaseDao.java
6 0
|
2月前
|
前端开发 Java 网络安全
ssh(Spring+Spring mvc+hibernate)简单增删改查案例
ssh(Spring+Spring mvc+hibernate)简单增删改查案例
11 0