简单权限系统设计(用户,角色,权限)
2016-09-29 00:00
549 查看
一,简单权限系统设计(用户,角色,权限)
表设计
用户表:t_user 角色表:t_role 权限表:t_permission
关联表
用户角色关联表:t_user_role 角色权限关联表:t_role_permisson
介绍:
根据用户查询t_user_role的到用户的角色(根据需要,可以是一个和多个角色),在根据查询出来的角色到t_role_permission中获取对应角色的权限。
如图:整个权限设计
![](https://static.oschina.net/uploads/space/2016/0929/151924_Fcgj_854444.png)
用户表数据
![](https://static.oschina.net/uploads/space/2016/0929/152020_O76g_854444.png)
角色表数据
![](https://static.oschina.net/uploads/space/2016/0929/152048_bgve_854444.png)
用户角色关联表数据
![](https://static.oschina.net/uploads/space/2016/0929/152123_WiGY_854444.png)
权限表数据
![](https://static.oschina.net/uploads/space/2016/0929/152149_cGts_854444.png)
角色权限关联表数据
![](https://static.oschina.net/uploads/space/2016/0929/152213_S0J4_854444.png)
所有操作如下:
这是一个简单的常见的权限管理。
二:权限系统设计(用户,角色,权限,资源)
这个比上面的设计略微复杂点,更适合相对复杂的系统和权限功能要求更高的系统。
首先,我们添加资源表,
用户和角色 以及 他们的关联表,都和上面的一样,我们新增的资源和角色联系在一起。
同时修改 角色权限关联表为 , 角色资源权限关联表。
如图:
![](https://static.oschina.net/uploads/space/2016/0929/154343_m7Sg_854444.png)
介绍:
根据用户查询t_user_role的到用户的角色(根据需要,可以是一个和多个角色),在根据查询出来的角色到t_role_resource_permission中获取对应角色的资源和对应权限。
这个权限系统可以用在web常见的系统中,
resource资源可以为web系统的一些模块,如不同的路径。
permission为权限,可以使用shiro这块, 这样permissionLable为system:edit 或 user:add,user:del等这样的shiro权限标签
表设计
用户表:t_user 角色表:t_role 权限表:t_permission
关联表
用户角色关联表:t_user_role 角色权限关联表:t_role_permisson
介绍:
根据用户查询t_user_role的到用户的角色(根据需要,可以是一个和多个角色),在根据查询出来的角色到t_role_permission中获取对应角色的权限。
如图:整个权限设计
![](https://static.oschina.net/uploads/space/2016/0929/151924_Fcgj_854444.png)
用户表数据
![](https://static.oschina.net/uploads/space/2016/0929/152020_O76g_854444.png)
角色表数据
![](https://static.oschina.net/uploads/space/2016/0929/152048_bgve_854444.png)
用户角色关联表数据
![](https://static.oschina.net/uploads/space/2016/0929/152123_WiGY_854444.png)
权限表数据
![](https://static.oschina.net/uploads/space/2016/0929/152149_cGts_854444.png)
角色权限关联表数据
![](https://static.oschina.net/uploads/space/2016/0929/152213_S0J4_854444.png)
所有操作如下:
SELECT * FROM t_user WHERE `username`='admin' AND `password`='admin'; SELECT * FROM t_user_role WHERE userid = 1 SELECT * FROM t_role WHERE id = 1 SELECT * FROM t_role_permission WHERE roleid = 1 SELECT * FROM t_permission WHERE id = 1 SELECT * FROM t_permission WHERE id = 2 SELECT * FROM t_permission WHERE id = 3 SELECT * FROM t_permission WHERE id = 4 ------------------------------------------------------ SELECT `id` FROM t_user WHERE `username`='赵六' AND `password`='1111'; #得到用户id:5 ,表示登陆成功 SELECT `roleid` FROM t_user_role WHERE `userid`=5; #得到角色id:3 ,表示获取到角色 SELECT `rolename` FROM t_role WHERE `id`=3; #根据角色id 3,查询得到角色名称为 “学生” SELECT `permissionid` FROM t_role_permission WHERE `roleid`=3; #根据角色id,查询得到权限id;只有一个(1) SELECT * FROM t_permission WHERE `id`=1; #根据权限id 1, 查询权限表,权限名称 “查看” 权限标签 “view” --------------------------------------------------------- SELECT `id` FROM t_user WHERE `username`='张三' AND `password`='123456'; #得到用户id:2 ,表示登陆成功 SELECT `roleid` FROM t_user_role WHERE `userid`=2; #得到角色id:2 ,表示获取到角色 SELECT `rolename` FROM t_role WHERE `id`=2; #根据角色id,查询得到角色名称为 “教师” SELECT `permissionid` FROM t_role_permission WHERE `roleid`=2; #根据角色id,查询得到权限id;(1,4) SELECT * FROM t_permission WHERE `id`=1; #根据权限id 1, 查询权限表,权限名称 “查看” 权限标签 “view” SELECT * FROM t_permission WHERE `id`=4; #根据权限id 4, 查询权限表,权限名称 “新增” 权限标签 “add” -------------------------------------------------------------------
这是一个简单的常见的权限管理。
二:权限系统设计(用户,角色,权限,资源)
这个比上面的设计略微复杂点,更适合相对复杂的系统和权限功能要求更高的系统。
首先,我们添加资源表,
用户和角色 以及 他们的关联表,都和上面的一样,我们新增的资源和角色联系在一起。
同时修改 角色权限关联表为 , 角色资源权限关联表。
如图:
![](https://static.oschina.net/uploads/space/2016/0929/154343_m7Sg_854444.png)
介绍:
根据用户查询t_user_role的到用户的角色(根据需要,可以是一个和多个角色),在根据查询出来的角色到t_role_resource_permission中获取对应角色的资源和对应权限。
这个权限系统可以用在web常见的系统中,
resource资源可以为web系统的一些模块,如不同的路径。
permission为权限,可以使用shiro这块, 这样permissionLable为system:edit 或 user:add,user:del等这样的shiro权限标签
相关文章推荐
- 用户和角色:通用权限管理系统数据库表结构如何设计?
- java OA 系统开发一:数据库设计之用户—角色—权限分配
- 设计OA系统的用户-角色-权限分配
- MIS系统用户角色权限设计
- 设计OA系统的用户-角色-权限分配
- 用户和角色:通用权限管理系统数据库表结构如何设计?
- 基于asp.net2.0中membership系统角色、用户、资源的权限设计
- 如何设计一个基于角色的用户权限系统?
- 用户角色权限系统完整设计(基于shiro)
- 系统权限控制设计001---RBAC用户角色权限设计方案
- [数据库设计]用户和角色:通用权限管理系统数据库表结构如何设计?
- ASP.NET系统用户权限设计与实现
- ASP.NET系统用户权限设计与实现(转摘)
- 一个简单用户系统的设计
- 用户权限系统设计方案
- 用户权限设计(三)——通用数据权限管理系统设计【转】
- ASP.NET系统用户权限设计与实现(转摘)
- 系统用户权限与角色分析
- >+ 系统用户权限与角色分析
- ASP.NET系统用户权限设计与实现