权限、角色和账号
账号、角色与权限
MA - 信息平台
数据库结构
contenttypes_classify (deprecated)
∧
|
| django_content_type.classify_id
| many2one
|
django_content_type (deprecated)
∧
| tbl_permission.content_type_id
| many2one
|
tbl_partner_permission | tbl_permission.level2_id
many2many | many2one
tbl_partner <----------------------> tbl_permission --------------------------> tbl_permission_class
∧ ∧
| |
| tbl_employee.partner_id | tbl_role_permission
| many2one | many2many
| |
| tbl_employee_role |
| many2many ∨
tbl_employee <----------------------> tbl_role
备注:
contenttypes_classify
是老的一级分类,django_content_type
是老的二级分类。虽然这两个表已经废弃了,但是由于 old_master 的存在,这两个表还有存在的必要tbl_permission_class
表中同时存了一级和二级分类
如何添加新的权限
只能手动修改数据库:
- 在 tbl_permission_class 添加或者找到一级分类和二级分类
- 在 contenttypes_classify 和 django_content_type 中找到一级分类和二级分类
- 在 tbl_permission 中添加权限
如何给加盟商分配权限
在内部系统 gmadmin.guanmai.cn 中管理
- 账号管理/超级管理员/加盟商管理员/按加盟商查看: 给某个加盟商分配权限
- 账号管理/超级管理员/加盟商管理员/按权限查看: 把某个权限分配给加盟商
如何给用户分配权限
- 加盟商管理员自动地拥有了这个加盟商的所有权限
- 使用加盟商管理员登录 manage.guanmai.cn/gm_account 可以登录权限管理系统
- 给角色分配权限:信息平台/角色管理/按角色查看/编辑/角色权限
- 给用户分配角色:信息平台/用户管理/编辑/角色
- 用户拥有的权限 是 用户所属的角色拥有的权限的并集
station - 业务平台
数据库结构
django_content_type (deprecated)
∧
| auth_permission.content_type_id
| many2one
|
tbl_station_permission | auth_permission.level2_id
many2many | many2one
station [mongo] <------------------> auth_permission --------------------------> tbl_permission_class
∧ ∧
| |
| station_user | auth_role_permission
| many2one | many2many
| |
| auth_user_role |
∨ many2many ∨
auth_user <----------------------> tbl_role
如何添加新权限
只能手动修改数据库:
- tbl_permission_class
- django_content_type
- auth_permission
如何给站点分配权限
站点拥有的权限也是在 gmadmin.guanmai.cn 中管理的
如何给用户分配权限
所有 station 用户(包括管理员)和权限之间的关系都是 user <--> role <--> permission。station 管理员登录 station.guanmai.cn/gm_account 或者 MA 管理员登录 manage.guanmai.cn/gm_account 可以管理旗下的用户和角色,详见上面 MA 的章节。
注意事项以及特殊逻辑
- MA 和 station 是两套不同的账号和权限体系,不要弄混了。
- station 用户拥有的权限,是不会超出这个用户所属站点拥有权限的(如果超出了就是脏数据)。MA 同理。
- 特殊逻辑好多,之后有时间再写吧 ...