|
最近做了一个后台,涉及到后台用户的权限管理,我依稀记得之前分布式框架v1.1版也加过这个权限管理的功能,可以说分布式里的权限设计的已经涵盖了后台权限的一些基本功用,但是分布式里的权限只设计到用户-角色-操作功能,并没有对角色所控制的菜单进行特殊的处理,用户登录到后台是可以看到所有的操作菜单的,显然这样是不太合适的,所以这次在分布式权限设计的基础上,加上了控制菜单选项的功能,大概的设计思想我会在下面一一表述,当然我所分享的肯定不是最好的设计思想,但是只是分享出来大家共同探讨一下关于后台权限的一些设计思想,大家可以共同探讨,或许可以想到更加优秀更加合理的权限设计思想,我这里就是抛砖引玉了。
首先用户权限,我感觉所有的权限其实都是通过角色来连接的,用户分配不同的角色,用户本身并不参与任何权限和功能上的授予,这些功能都是角色来处理的,我们给角色分配不同的权限和功能,让角色来控制一些菜单的显示和不显示,让角色来控制可以使用某些功能和操作。角色的权限分配好了,就可以把角色分配给用户,当然用户也就有了角色所赋予的权限。当然用户和角色是多对多的关系,就是说一个用户可以有多个角色,一个角色也可以分配给多个用户,
角色对应权限也是多对多的关系。这里我们可以把权限分的细一些,分成两个部分,一个是控制菜单的显示,比如根据角色不同来显示不同的菜单,一个是控制操作上的功能,比如搜索、增删改查等操作。
表大致设计如下:用户表User 角色表Role 用户角色表 UserRole (用来存储用户分配角色关系)
权限:菜单表Menu 角色菜单表RoleMenu(用来存储角色分配的菜单关系) 功能表function 角色功能表rolefunction(用来分配角色分配的功能关系)
设计上大致就是这样,今天先写到这里,如果大家感兴趣的话我在后续的开发中会将我设计的表和一些代码分享出来。
|
|