大家好,我现在做一个项目需要这样的权限控制,希望大家给点实现的建议:
这个项目类似于一个简单的OA项目,公司总部可以看到所有的信息,下面个分支机构只能看到自己分支的信息,不能看到比自己权限高的或者其他分支机构的信息。
请大家帮忙提点建议如何用最简单的方法来实现,谢谢!

解决方案 »

  1.   

    对空上消息进行分析一下,看看与一个什么样的东西挂勾,然后对用户提供这个东西的授权处理,比如说它与部门挂勾,那么就对用户进行一个部门授权的操作,语句查的时候总是带部门过去的
    where 消息.部门id in(select 部门ID from 用户部门授权表 where 用户是当前用户)
      

  2.   

    你知道treepath 字段吗  ?
    你的表里有一个treepath字段  还有一个权限字段好比说 总部  的权限是 1   treepath 是 1
    分支1 是 总部的 子集  权限是2 treepath 是 1/2 
    分支2 是 总部的 子集  权限是3 treepath 是 1/3分支3 是 分支1的 子集 权限是4 treepath 是 1/2/4
    分支4 是 分支1的 子集 权限是5 treepath 是 1/2/4那么 你控制权限的时候 一like treepath 就好了。  
    懂了吗
    1级 菜单 like treepath  可以把 他跟他的子集菜单 都拿到 其实说白了 就是 父子菜单 
    2级 菜单 like treepath  可以把 他跟他的子集 也就是 2级跟3级 拿到 
    3级 菜单 只能拿到三级 如果你有4,5,6,7级的话就以此类推。
    如果不明白的话加我QQ 171757607
      

  3.   

    acegi中增加机构,角色和权限分支,建议参考文章:
    http://blog.csdn.net/smilingleo/archive/2007/01/11/1480380.aspx