一、为什么要实现权限系统
1、 系统中的权限系统,缺少组织结构管理。例如:树型的组织结构,有些系统虽然考虑了分层,但是没有考虑分多少层,组织结构是否考虑了集团公司,全国连锁经营这种模式,实际上就是很多个独立单位的概念。很多系统遇到这个问题,就需要重新做整个系统。
2、 不同登陆用户要有不同的权利,而且要有不同的菜单,如果不能灵活的修改他们的权限,那用户需求一旦变化,不是就很郁闷了。系统要能够解决这个问题,我们就要灵活的控制每个页面。即便是系统已经开发完成,投入运行,也可以通过修改配置文件,而实现权限的重新调整。
二、权限简单控制原理
规则一:每个登陆的用户,可以有多个角色;
规则二:每个角色又可以访问多个功能点;
规则三:每个功能点又由多个页面组成;
根据这个对应关系,就可以让每个用户对应到不同的页面,如果进行细致设置,基本上可以解决了应用中的很多情况
三、名词解释
页面(URL):在web开发中也称为URL,最朴素的权限控制,就是基于页面的控制,即赋予访问者可以访问页面的范围,在系统记录所有的页面,配置权限时将允许访问的页面赋予使用者。虽然简单,却很直接和容易理解,基于这个思想,将软件的URL作为权限,进行控制,将所有的URL进行记录。但如果直接将URL作为权限配置给使用者,是相当麻烦的,因为一个操作功能往往不是在一个请求内完成的,这就意味着为了让使用者有权利完成一个功能,就必须将一组URL赋予使用者,以便其访问,显然这样给系统管理和维护带来了很多不方便.因此我们就需要功能点。
说明:将权限和角色关联起来,就可以把权限和用户的耦合解开,然后将角色和用户关联从而来达到用户和权限的最终关联!
图1——>三权分立,最终关联!
补充:Java权限管理之权限类型!
特别说明:
时间—>插入和修改的时间!
用户状态–>有效和无效!
(5)权限和应用程序

说明:重点掌握!
1、用户,角色,权限(功能),角色权限,用户角色五个实体类对应五张表(省略…)
2、action层调用service层,service层调用dao层
action是界面层:管理业务(service)调度和管理跳转的,是一个管理器,只负责管理
service是业务逻辑层:管理具体功能和逻辑的,负责实施—>宏观!
DAO数据访问层:只完成增删改查,只负责封装,具体的业务逻辑如何去实现由service实施–>微观!
3、action:实现页面的功能
service:先定义一个接口抽象出具有的功能,再由impl去具体的实现,dao也是如此。
六、源码
在写权限管理的时候最头痛的地方也就是权限功能的模块了,但是不管是怎样的一个业务也是数据的增删改
源代码省略。。。
七、总结
以上只是功能模块的代码,还有角色、用户、用户角色。角色权限等模块,这些也就仅仅是数据的增删改查操作,只要大家用心的去写一下就可以了。不管是怎样的权限管理系统远远要比这个复杂,这里只是为了给大家提供功能模块的思维,仅供大家参考。
八、迁移
k8s权限中就有RBAC的影子
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树控制执行流程if-else92163 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!