当前位置: 代码迷 >> Sql Server >> 一个权限模块的设计,请大侠见教
  详细解决方案

一个权限模块的设计,请大侠见教

热度:67   发布时间:2016-04-25 00:24:01.0
一个权限模块的设计,请大侠指教
这是一个系统的权限模块
1.要求一个用户可以管理多个部门
2.权限根据权限组来分配

以下数据库设计是否合理,是否有更好的方法,请大侠指点。

另外,此种设计方法使得一个用户在不同的部门下有相同的权限,如果要求一个用户在不同的部门下有不同的权限,如何修改设计比较好?

Operator 用户基本信息表
Role 权限表
RoleGroup 权限组表
RoleGroupDetail 权限组详细权限表
Department 部门表
DepartmentOperator 部门用户关系表

表设计图:

------解决方案--------------------
权限与角色关联
用户与角色关联
用户与部门关联
部门与基本角色关联
------解决方案--------------------
1、假设用户帐号和员工连在一起不用区分时,用户帐号隶属于部门做法是合理的

2、使得一个用户在不同的部门下有相同的权限,此做法符合大多软件设计要求,应是合理的

3、如果要求一个用户在不同的部门下有不同的权限,此时做法可以这样考虑
   用户 -- 角色 -- 角色权限
    X
   用户 -- 部门 -- 部门权限
   
   取两者交集即可,但这种做法应用意义不大,除非让用户登录软件时同时选一下现在要登到哪个部门!!!
   如是这样,也完全没有必要!!!


------解决方案--------------------
权限与角色关联
用户与角色关联
用户与部门关联
权限与部门对应
这个关系,目前在使用中。权限管理清晰,方便

 用户和角色模板表对应
------解决方案--------------------
设计存在问题 ,一个用户属于一个权限组吗?这个很明显不合里,用户(operate)应该关联角色(role) 而不是权限组(roleGroup); 这样用户的权限才可以灵活
  相关解决方案