基于角色的简单java权限

阅读更多

 

权限管理几乎是每个后台管理系统必有的一个功能,由于每个公司组织结构不同,权限管理的需求也有所不同。

 

在工作中,权限一般分为功能权限,操作权限,及数据权限。

 

对于功能级别的权限,一般可理解为3W,即WhoWhat(Which)进行How的操作,

 

其中who即为权限的主体或者拥有者(如用户,角色),what受权限控制的对象或资源(如菜单,操作按钮等),how具体权限(授权)。

 

在企业环境访问控制方法中,大致可分为如下三种:

 

1、  自主访问控制:主体可以对其资源怎么自主的控制;

 

2、  强制访问控制:用于多层次多级别的控制(不是很理解);

 

3、  基于角色的访问控制(RBAC):如今用的比较多的方法,可以减少授权管理的复杂度,降低管理成本,比较灵活。

 

此次我们只讲解基于角色的访问控制。基于角色的访问控制,抽取出角色的概念,用来对权限进行归类。再把角色分配给相应的用户,达到权限的授权。

 

从中抽取系统用户为主体,资源有菜单资源与操作资源,通过基于角色进行权限的设置,因为其UML图大概可以如下:

 

 

 

其中主要涉及到后台用户、角色、后台功能菜单、操作按钮,用户只是单纯的用户,没有与权限进行直接关联,而是通过分配角色来达到权限的授权,一个用户以拥有多个角色,一个角色也可以属于多个用户,因此用户与角色间是多对多关联,所以抽取出用户角色关联信息,把它转换成两个多对一关联。

 

角色是为了对权限进行分组的,而此中的权限即对某某菜单有什么样的操作权限。角色可以拥有多个功能,而功能也可以属于多个角色,因此,抽取出角色权限关联信息。

 

具体实现如下图:

 

 

 

 

 

 

 

  • 基于角色的简单java权限_第1张图片
  • 大小: 80.9 KB
  • 基于角色的简单java权限_第2张图片
  • 大小: 29.1 KB
  • 基于角色的简单java权限_第3张图片
  • 大小: 18.2 KB
  • 基于角色的简单java权限_第4张图片
  • 大小: 26.2 KB
  • 查看图片附件

你可能感兴趣的:(java,RBAC,权限管理)