各位大虾支支招,模型描述如下,整个合适的数据库设计。
需求:合同管理,包括录入、审核等。合同中与权限相关的的字段:合同乙方、实施部门、研发部门、销售部门、项目经理、项目主管。
权限分配要求:可按 合同乙方、实施部门、研发部门、销售部门、项目经理、项目主管 分配权限(包括查询、审核等),
目前想到的表结构有:function(对应操作)、role(角色)、user(用户)、fuction_role、user_role、depart(部门)、permit(权限)、contract(合同)。现在最主要的是permit、depart、contract表的结构问题,如何设计才能方便按权限查询。
depart 包括:合同乙方、实施部门、研发部门、销售部门、项目经理、项目主管。
希望描述清楚了,如果有疑问的地方,我及时补充更新。

解决方案 »

  1.   

    一般实现方法:ROLE 
    FUNCTION
    USERuser_role(uid,rolid)
    role_funtion(rolId,funid)其它的 部门,权限,似乎没什么意义,直接用role 就可以了。 复杂一点儿就是允许role 进行嵌套。
      

  2.   

    可按 合同乙方、实施部门、研发部门、销售部门、项目经理、项目主管 分配权限(包括查询、审核等), 
    ---------------------
    这里面有2种需求情况:
    1、权限对于同一类部门下的所有人员都是一样的?
    2、同一类部门下的各个人员还会存在不同权限的?如果是第一种需求的话,采用“角色”定义方式进行归类;
    如果是第二种的话,那要控制得比较细了,如果总操作人员数量不是很多的情况下,可以采用每个人员有一条详细的相关操作权限的记录。对于第一种情况:
    操作行为类型表:(action_id, action_type)
    角色表:(role_id, role_name, action_id, flag)
    操作人员表:(user_id, role_id)对于第2种情况:
    操作行为类型表:(action_id, action_type)
    操作人员表:(user_id, action_id, flag)
      

  3.   

    多谢楼上的两位,但是在两位的设计中,只提到了功能action,没有提到资源,比如说某一个角色,只能查看某一个部门的合同记录,