查了很多资料,现在有一个备选方案。User table:用户表
id         UserName            GroupIDGroup table:组表
id        GroupName            
Permission table:权限表
id       PermissionName
GroupPermission Table:组权限表
id       GroupId               PermissionID
其实我是第一次要自己设计,实现这么一个PHP CRM系统,经验不足。我这抛砖引玉,希望大家多给与意见和建议。多谢啦。

解决方案 »

  1.   

    用xml来控制权限比较简便些,无限级分类都很清晰
      

  2.   

    我初步分析权限控制模型的表结构是这样的:(这里的group即为组,= 角色role)user  -- usergroup  -- group
      |                      |
      |                      |
    userpermission       grouppermission
      |                      |
      |                      |
      | - -  - - - - -  permission
                             |
                             |     
     resources - - - permissionresources但目前最不清楚的是,如何实现和控制对资源的访问权限?因为我觉得资源不是一个单独的表格,而是一些表的集合。在显示层面上代表了一系列的可操作的对象(用户,contact)。
    希望大虾们解答。还有这个CRM系统主要是管理用的,3中类型的账户:总经理general manager,部门经理business manager,和管理员admin。
    总经理的权限 = admin的权限 > 部门经理的权限。
    总经理和管理员能查看,管理所有关于系统的信息。部门经理只能查看,管理本部门的信息。
    总经理和部门经理的个人首页也是根据角色定义的。各位有什么看法说出来,大家交流一下。
      

  3.   

    用XML没做够,数据库就做过..====================================用技术换广告,谢谢支持=====================================
    Ventes Batteries PC Portable, Alimentation PC Portable, Batteries Camescope, Appareil Numerique, des Chargeurs
    rolex watches, Replica Watches, Replica Watch
    R4DS Cartes, Cartes R4, R4 DSi, R4 SDHC Pour Nintendo DS / DS, Dsi 
    baterias
    R4DS Cartes, Cartes R4, R4 DSi, R4 SDHC Pour Nintendo DS / DS, Dsi
    R4DS Cartes, Cartes R4, R4 DSi, R4 SDHC Pour Nintendo DS / DS, Dsi
    R4DS Cartes, Cartes R4, R4 DSi, R4 SDHC Pour Nintendo DS / DS, Dsi
    R4DS Cartes, Cartes R4, R4 DSi, R4 SDHC Pour Nintendo DS / DS, Dsi
      

  4.   


    xml控制权限 和 无限级分类。能具体解释下吗???
      

  5.   

    用mvc结构去设计你的crm,权限会容易控制一点.用户-->角色/角色组 -->最终的权限-->具体的访问页面。url:http://hostname/projectname/whichmodule/whichaction/具体controller是这样的class whichmodule extends controller
    {
       function whichaction(){
          //动态化判定权限,可放在公用的父类controller里.
          checkpermission($this->controller,$this->action,$_SESSION['user_id']);
       }
    }
      

  6.   


    谢谢,可惜的是我没有用MVC框架,甚至也没有用OOP。实在是因为技术达不到。之前用过一段时间的Zend framework MVC框架,但不太会用。
      

  7.   

    这个每一个头问题是设置权限一般是角色-权限-资源第二个是应用权限对于一个资源来说,首先要有一API来检查是否有相关权限,如果为真,通过MVC一般为控制器,方法中,无可设置权限,方便了权限验证但如果更细的权限验证或通用权限验证,仍要API
      

  8.   

    非常感谢fxs_2008的回复,现在有点思路了。
      

  9.   

    我写了一个通用权限系统,如果你要独立那么可能要自己验证文件,就是每次加载文件时候自己手动验证我的基本算一个框架 ORM数据库类。可以看这个,后面有演示地址
    http://topic.csdn.net/u/20100415/11/af4687d2-d7f2-4e56-bcc0-5232f04a0b1e.html?32481