总公司下面有分公司 分公司下面有人员
总公司是超级管理员 分公司是管理员
总公司有所有模块的权限 可以分配分公司的查看权限 分公司的管理员可以分配给下面用户
的权限
每个分公司的权限模块可以不一样 每个用户的权限模块可以不一样但是不能超过分公司的
模块权限
求下这个功能该怎么设计
思路:
实体表:用户(u) 角色(r) 菜单(m)
关系表:用户角色(ur) 角色菜单(rm)
超级用户(初始用户)-总公司(角色)--所有菜单
分公司用户(超级用户赋予)---分公司(角色-超级用户赋予)---菜单(超级用户赋予)
.........................
依此类推,感觉满足你需求,请采纳
可以将总公司作为一级菜单,分公司作为二级菜单,然后对应用户分配权限
org_type 公司类型表 -总公司 分公司
org_role 角色表-超级管理员 管理员 普通员工
org_role_right 角色权限-总公司权限 分公司权限 普通员工权限
org_person 公司人员表 -人员信息
关联查询
一个用户关系树表,一个菜单模块表,如果菜单模块表是有序的,那就把菜单表也做成树表,用户表的菜单权限字段就可以只存菜单表的根节点。如果菜单模块表是无序的,那就把用户拥有的菜单对应id全部存入用户表的菜单字段。
你可以借鉴shiro权限控制设计表