日期:2014-05-17  浏览次数:20372 次

一个关于权限设置问题! 求思路!!
    例如 经理a下面有2个员工 ,经理有50条记录数据 员工A 有5条记录数据, 员工B 有20记录数据!    现在要求是:  经理进入后台看到的是A+B+自己的累积数据和=75条记录, 员工A和B就只能看到自己的记录!!   
  之前做的权限都是自己看自己的! 这个需求稍微有点不一样!!! 求思路!!!!!

------解决方案--------------------
无非就是上一级人员拥有下级人员权限的并集。
------解决方案--------------------
如果是sql2008,试试 hierarchyid,如果是其他数据库,试试递归查询
------解决方案--------------------
数据表可以多加一列 用于区分是谁的数据
比如员工A的数据 A
    员工B的数据 B
经理查询的时候 select all
员工A查询的时候显示A的所有列
员工B查询的时候显示B的所有列
你觉得如何
------解决方案--------------------
专门建一个存储员工关系的表。
id,员工id,所属上级id

同一个员工可以被多个上级管理。 这样就比较合理了


------解决方案--------------------
要比较灵活的话,就自己弄个关系表,如果简单点处理的话,就按照上下级关系,筛选出来可查询的权限ID列表,按照这个条件再去查询数据就行了
------解决方案--------------------
只需分两级权限即可:1 经理 2员工

if(userType=="经理")
{
 //查询全部
 String sqlStr=“select * from 表”;
}
else
{
 //查询自己的
  String sqlStr=“select * from 表 where userid=‘’ ”;

}

------解决方案--------------------
这类问题不要写死了。
建个员工关系表, 查询的时候用递归就行了。
------解决方案--------------------
这类问题不要写死了。
建个员工关系表, 查询的时候用递归就行了。
------解决方案--------------------
这个跟控制权限没有太大的关系,直接控制你的sql语句 就ok了. 经理经别的 ,则查询所有.
其他员工的则查询各自的. 根据每个人自己的标示查询就是了
------解决方案--------------------
引用:
只需分两级权限即可:1 经理 2员工
C# code?1234567891011if(userType=="经理"){ //查询全部 String sqlStr=“select * from 表”;}else{ //查询自己的  String sqlStr=“select * from 表 where userid=‘’ ”; }

++
------解决方案--------------------
引用:
这个跟控制权限没有太大的关系,直接控制你的sql语句 就ok了. 经理经别的 ,则查询所有.
其他员工的则查询各自的. 根据每个人自己的标示查询就是了

+1
------解决方案--------------------
这个不难吧.
ID    名称   上级ID  所属ID
1      经理   0          1,2,3
2      员工A 1          2
3      员工B 1          3

select * from 表 where 所属ID=1,2,3