权限管理几乎是每个后台管理系统必有的一个功能,由于每个公司组织结构不同,权限管理的需求也有所不同。
在工作中,权限一般分为功能权限,操作权限,及数据权限。
对于功能级别的权限,一般可理解为3W,即Who对What(Which)进行How的操作,
其中who即为权限的主体或者拥有者(如用户,角色),what受权限控制的对象或资源(如菜单,操作按钮等),how具体权限(授权)。
在企业环境访问控制方法中,大致可分为如下三种:
1、 自主访问控制:主体可以对其资源怎么自主的控制;
2、 强制访问控制:用于多层次多级别的控制(不是很理解);
3、 基于角色的访问控制(RBAC):如今用的比较多的方法,可以减少授权管理的复杂度,降低管理成本,比较灵活。
此次我们只讲解基于角色的访问控制。基于角色的访问控制,抽取出角色的概念,用来对权限进行归类。再把角色分配给相应的用户,达到权限的授权。
从中抽取系统用户为主体,资源有菜单资源与操作资源,通过基于角色进行权限的设置,因为其UML图大概可以如下:
其中主要涉及到后台用户、角色、后台功能菜单、操作按钮,用户只是单纯的用户,没有与权限进行直接关联,而是通过分配角色来达到权限的授权,一个用户以拥有多个角色,一个角色也可以属于多个用户,因此用户与角色间是多对多关联,所以抽取出用户角色关联信息,把它转换成两个多对一关联。
角色是为了对权限进行分组的,而此中的权限即对某某菜单有什么样的操作权限。角色可以拥有多个功能,而功能也可以属于多个角色,因此,抽取出角色权限关联信息。
具体实现如下图:
相关推荐
详细阐述了基于角色的权限控制的数据库设计,页面元素控制等
本设计源码提供了一个基于EasyUI的Java用户角色权限管理系统。项目包含635个文件,主要使用Java、CSS、JavaScript和Shell编程语言。文件类型包括166个CSS样式文件、140个PNG图片文件、118个Java源代码文件、95个...
目前系统已经基本集成的功能包含有,用户管理,角色管理,菜单管理,组织管理,数据字典,日志管理,接口管理(暂时未完成实际应用),流程配置,运行流程管理,消息管理(暂无实际应用),业务模块没有做。后台是基于...
基于java SSH的角色权限管理系统源码+数据库 流畅运行,分享
基于角色的权限系统
一个java版本的基于角色的权限管理系统
系统使用spring+springmvc+hibernate+easyui框架搭建,mysql数据库,包含资源管理、人员管理、角色管理、部门管理等,可以直接使用。
非常完整的Javaweb实践项目,可以用来作为期末课程设计,或者毕业设计,数据库脚本文件都具备,三个数据库的都含有
java的基于sqlserver2005的权限管理模板
管理系统系列--一个java版本的基于角色的权限管理系统
基于web 的权限系统,偶角色管理,用户管理,菜单管理等等。基于web 的权限系统,偶角色管理,用户管理,菜单管理等等。基于web 的权限系统,偶角色管理,用户管理,菜单管理等等。
项目名称:基于SSM的权限管理系统案例 项目架构:B/S架构 开发语言:Java语言 前端技术:Layui等 ...功能描述:一个SSM的权限管理系统,可以新增菜单、管理用户和角色等,可以在此基础上进行开发和设计。
历史上最全的java权限控制 基础S2SH的,基于servlet的,基于spring的,基于struts2的,很多,很全面。有角色权限,角色组,数据权限,操作权限,查询权限,菜单权限,按钮权限控制,粗粒度的,细粒度的,很多,欢迎...
Struts1.x+DButils实现的基于角色资源的权限
java-rbac一个java版本的基于角色的权限管理系统可以用来做公共的cms后台该版本支持多级菜单部署方法将 /src/main/resources/sql/jrbac.sql数据库脚本运行在本地数据库将 src/main/resources/jdbc.properties中 jdbc...
用于对角色进行分配权限,并能根据角色权限自动获取该角色能够操作的模块。里面不仅有源码,还有数据库基础设计。
完全响应式权限管理系统,包括用户管理、角色管理,权限管理等功能,适合javaweb开发者入门学习,也可直接用于项目,省去重复开发权限管理模块,提高开发效率,项目使用主流技术如下: 服务端: Spring4.3.0....
课程设计java大作业基于springboot的员工管理系统源码,主要是实现管理系统的员工信息的增删改查,和用户角色的登陆权限,功能点有登陆,注册,加密密码修改,权限管理,员工信息的增删改查等。 开发工具: IDEA ...
本源码提供了一个基于Springboot的Tangdao角色权限...这个系统采用了基于角色的权限管理(RBAC)模型,前端使用Vuejs和Quasarframework开发,界面简洁美观,易于理解和使用。适合需要进行权限控制的企业和项目使用。
本项目是基于Java的xtp通用权限管理系统设计源码,包含565个文件,其中214个Java文件,110个JavaScript文件,52个Vue文件,50个SCSS文件,43个XML文件,40个TypeScript文件,11个JSON文件,7个JPG文件,6个YAML文件...