JQuery Spring 搭建的用户权限管理系统

一个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的代码比较多,就不上传了,如果你想要源码的话请联系我.

用截图看下效果:

添加用户:



 

所有用户:



 所有部门:



 所有角色:



  所有对象:



  所有操作:



  角色权限查看:

  

  角色权限修改:

 

  添加用户部门角色:

 

  所有用户部门角色:

 

  查看用户各部门的角色

 

  查看用户各部门的角色的权限:

 

 差不多就这么多了,谢谢。

猜你喜欢

转载自seaboycs.iteye.com/blog/2022804
今日推荐