`
seaboycs
  • 浏览: 127022 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

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

 

用截图看下效果:

 

添加用户:



 

所有用户:



 所有部门:



 所有角色:



  所有对象:



  所有操作:



  角色权限查看:

  

  角色权限修改:

 

  添加用户部门角色:

 

  所有用户部门角色:

 

  查看用户各部门的角色

 

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

 

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

 

 

  • 大小: 74.5 KB
  • 大小: 24.1 KB
  • 大小: 32.6 KB
  • 大小: 92.3 KB
  • 大小: 27.8 KB
  • 大小: 28.6 KB
  • 大小: 34.5 KB
  • 大小: 31.7 KB
  • 大小: 24.3 KB
  • 大小: 41.5 KB
  • 大小: 41.7 KB
  • 大小: 90.8 KB
  • 大小: 59.3 KB
  • 大小: 37.1 KB
  • 大小: 92.3 KB
分享到:
评论
5 楼 a397072715 2017-05-05  
博主,源码还在吗?
4 楼 ANN_MM 2014-04-09  
啦啦啦~~我是来抄数据库表的~~吼吼~~
3 楼 ANN_MM 2014-03-18  
呵呵,终于有一个大概看懂得了,下次直接把那个关系小人图发出来吧
2 楼 dhsoiii 2014-02-28  
略屌。
1 楼 zhuyuyuseu 2014-02-27  
马上就派上用场了

相关推荐

Global site tag (gtag.js) - Google Analytics