博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC3.1.1+Spring3.1.1+Hibernate4+Velocity+EasyUI+ZTree实现RBAC基于角色的访问控制(二)...
阅读量:6507 次
发布时间:2019-06-24

本文共 985 字,大约阅读时间需要 3 分钟。

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

你可能感兴趣的文章
scrapy学习之路4(itemloder的使用)
查看>>
经典排序算法及其 Java 实现
查看>>
vue从入门到进阶:计算属性computed与侦听器watch(三)
查看>>
java8-模拟hadoop
查看>>
前端面试总结(at, md)
查看>>
JavaScript 基础知识 - 入门篇(一)
查看>>
Webpack入门之遇到的那些坑,系列示例Demo
查看>>
002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
查看>>
Sequelize 中文文档 v4 - Getting started - 入门
查看>>
MySQL几个简单SQL的优化
查看>>
SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
查看>>
【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
查看>>
[js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
查看>>
坑!为什么View.startAnimation不起作用?
查看>>
css属性的继承、初识值、计算值、当前值、应用值
查看>>
【159天】尚学堂高琪Java300集视频精华笔记(128)
查看>>
关于 Linux 进程的 UID、EUID、GID 和 EGID
查看>>
【162天】黑马程序员27天视频学习笔记【Day02-上】
查看>>
ComponentOne 2017 V2版本正式发布
查看>>
【mysql】环境安装、服务启动、密码设置
查看>>