基于RBAC的权限控制入门案例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31156277/article/details/81175057

可以参考上一篇转载文章 https://blog.csdn.net/qq_31156277/article/details/81072833

模块业务功能

一、 功能权限控制

1.1 用户信息和角色

数据表 关键字段
com_t_userinfo usernumber
com_t_userrole usernumber , roleid
com_t_role roleid

解释:com_t_userrole这个中间表中有两个关键字段,usernumberroleid, 通过这个两个字段就可以将一个用户的角色全部查询出来。用户和角色之间的关系是多对多


1.2 角色和功能

数据表 关键字段
com_t_role roleid
com_t_rolefunction roleid , functionid
com_t_function functionid

解释:com_t_rolefunction这个表中有两个关键字段,roleidfunctionid,负责将表com_t_role(角色表)和com_t_function(功能表) 联系起来。角色和功能之间是多对多的关系


1.3 功能和菜单

数据表 关键字段
com_t_menu menucode
com_t_function menucode

解释:两个表通过关键字段menucode进行关联查询,就可以查询功能对应的菜单。一个菜单可以对应多个功能。


1.4 用户获取菜单

数据表 关键字段
com_t_userinfo usernumber
com_t_userrole Roleid usernumber
com_t_rolefunction Roleid functionid
com_t_function functionid menucode
com_t_menu menucode

解释:

  1. 通过登录以后,com_t_userinfo表中有一个字段usernumber,通过usernumberroleid做关联,将用户的所有角色都查询出来。
  2. 通过roleidfunctionid,把用户角色所有的menucode获取到。
  3. 通过menucode把用户所有的菜单都查询出来。

二、 数据权限控制

2.1 用户与监管的营销区域

数据权限设计到分管监管两个东西。是否需要将营销组织(功能权限相关)和营销区域(数据范围相关)耦合。暂时不考虑、便于扩展。

数据表 关键字段
com_t_userinfo usernumber
com_t_userdept usernumber, saleareaid
com_t_department departmentid

解释:com_t_userdept属于中间表,其中有两个字段usernumber和salereadi 分表将com_t_userinfocom_t_department联系到一块。

注:com_t_department控制数据权限的。


其他数据权限

例如、品牌 权限、只查看自己数据的权限等。理论一样。具体实现细节可以不同。

猜你喜欢

转载自blog.csdn.net/qq_31156277/article/details/81175057