一个web项目中要用到用户的权限管理,特意做了一个用户授权管理的POC,分享一下:
涉及到的对象有:
1. 用户:User
2. 部门:Department
3. 角色:Role
4. 受管控的对象:ObjectClass
5. 受管控的操作:Operator
关联关系:
1. 1个用户可以隶属于多个部门
2. 1个用户在一个部门有多个角色
3. 每个角色的权限相同,每个角色拥有多个对象的多个操作权限
4. 不同部门之间的角色不能共享权限,比如【用户A】在【A部门】有【经理】的角色,在【B部门】有【开发】的角色,那么在【B部门】的资源库中他只有【开发】这个角色对应的权限,而没有【经理】的权限。
基于上面的需求创建出如下的数据库表:(MYSQL)
CREATE TABLE IF NOT EXISTS COM_PRO_JUSER ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JDEPARTMENT ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JROLE ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JOBJECTCLASS ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JOPERATOR ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JROLEOBJECTCLASS ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`NAME` VARCHAR (50) NULL,`ROLEID` INT (10) NULL,`OBJECTCLASSID` INT (10) NULL,`OPERATORID` INT (10) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS COM_PRO_JUSERROLE ( `ID` INT(11) NOT NULL AUTO_INCREMENT,`USERID` INT (10) NULL,`ROLEID` INT (10) NULL,`DEPARTMENTID` INT (10) NULL,PRIMARY KEY (`ID`)) COLLATE='utf8_bin' ENGINE=InnoDB AUTO_INCREMENT=1;
总共7张表,5张表分别对应到上面提到的5个涉及到的对象,还有2个对应关系表:
1. 用户部门角色映射表(USER_ID, DEPARTMENT_ID, ROLE_ID)
2. 角色对象操作映射表 (ROLE_ID, OBJECTCLASS_ID, OPERATOR_ID)
数据库设计好了之后就是UI的设计与开发了。UI的代码比较多,就不上传了,如果你想要源码的话请联系我.
用截图看下效果:
添加用户:
所有用户:
所有部门:
所有角色:
所有对象:
所有操作:
角色权限查看:
角色权限修改:
添加用户部门角色:
所有用户部门角色:
查看用户各部门的角色
查看用户各部门的角色的权限:
差不多就这么多了,谢谢。
相关推荐
spring security 全注解式的权限管理 动态配置权限,角色和资源,权限控制到按钮粒度 采用token进行权限校验,禁用session,未登录返回401,权限不足返回403 采用redis存储token及权限信息 内置功能: 用户管理...
完整的权限登录系统,里面包括角色分配权限 用户添加角色等权限相关知识。以及用jquery验证重复提交等,希望对大家有用。数据库是sql2005 工程搭建起来直接可以跑,有问题了联系我QQ 497126030
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
还使用了Bootstrap、jQuery、jsTree、DataTables、Hibernate、Spring、Spring MVC、JSP技术来支持整个系统的开发。 系统主要包含系统登录、用户管理、菜单管理、角色管理、日志管理、部门管理、待办事项、招聘申请...
校友系统通过帮助院校搭建校友互动平台和校友管理系统,拓展院校在校友服务方面的效率和范围,帮助院校提升校友工作信息化水平。 设计任务说明 按软件工程规范描述管理员端需求,细化用例规约,合理设计数据库,...
报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用Bootstrap框架,结合Jquery Ajax,...
本章节不会对该框架做深入探讨,仅从基于角色的权限管理角度,来实现对系统的权限管理。 第12章 博客系统的整体框架实现 先对系统的整个界面、结构、布局、API进行实现,这样方便每个模块进行划分及实现。 第13章...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
- 想学习spring mvc 在《最代码》中找到了一个医院管理系统>,程序比较简单,正好适合我,但后面一看,系统应该也是一个初学者写的,没有权限管理,没有认证,漏洞也很多,所以我加了shiro权限和认证管理,完成后...
该项目的架构搭建使用的是maven,后台是使用的是SpringMvc框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro 框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件, 主要有以下功能: 进货管理:...
该资源是一个基于SSM(Spring、SpringMVC、MyBatis)框架的微信设备故障报修管理系统。系统采用了当下流行的Java Web技术,结合了前端技术,实现了一个高效、稳定的设备故障报修管理平台。该系统主要包括以下功能: ...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...
ssm+bootstrap开发网上零食商城管理系统(前后端分离) 项目描述 该项目为网上零食销售系统,前后端分离(含有权限管理,高德地图地位,ECharts图形展示等技术),可当作毕业设计。 运行环境 jdk8+tomcat8+mysql+...
shiro作为安全框架,主流技术 几乎零XML,极简配置 两套UI实现(bootstrap+layer ui),可以自由切换 报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和...
2、quark-admin:采用springboot+shiro搭建的细粒度的基于URL的权限管理系统,进行帖子管理,回复管理,用户管理等操作 3、quark-rest:使用springMVC搭建RESTFul服务,采用WebSocket协议+stomp协议搭建推送服务,...
该项目的架构搭建使用的是maven,后台是使用的是spring boot框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件,主要有以下功能:用户管理、...