权限分级的问题,请高手指点
如图,要实现以下功能:U1可以查看所以人的信息,U2只能查看U5,U6,U7的(也就是他自己创建的)。其他U3,U4类推。
如果U5又创建了几个用户,那么U2还能看到U5创建的用户信息,但不能看到U3,U4创建的用户。
请问高手如果解决?可以说说你们的想法,比如怎么建表之类的。分级最好能动态的实现。
------解决方案--------------------高难,up, 睡觉咯!
------解决方案--------------------好乱啊,接点分吧
------解决方案--------------------用dom树
------解决方案--------------------id     name
1       u1
101     u2
102     u3
103     u4
10101   u5
10102   u6
10103   u7
做TreeView结构
按ID号就可以分级查询
------解决方案--------------------LZ昨晚加班呀?
------解决方案--------------------用树可以实现这种分级结构。
数据库:
ID       parentId
ID自动增加,parentId保存父ID的值,最高级别时parentId存0,如:
1        0
2        1
3        1
4        2
5        0
.        .
.        .
.        .
再写个求所有下级的函数就可以
------解决方案--------------------建表时2个字段(拓朴编码、本身码)
以下是拓朴码
跟为0,跟的下级为01,02,03,。。。。
第3层为011,012,013,。。。。。
      021,022,。。。。。。。。
就可以实现你的功能了。
用like 本身码+'%'就ok,
给我分
------解决方案--------------------用treeview 自动增加子节点,让U5建的用户在u5下,U5又在u2下.对他的权限进行控制
------解决方案--------------------在表中加个创建者字段,在访问成员是读数据库
select * from table where creator = U2
if (U7 在返回的结果中)
{
  U2访问U7
}
------解决方案--------------------
这个很好办,用继承的思想
添加一个字段 Father 记录这个的父类下面设 U7 U8 是U5创建的 U9 是U3创建的 U10 是U9创建的
ID User  Father
1   U1   0
2   U2   0,1
3   U3   0,1
4   U4   0,1
5   U5   0,1,2
6   U6   0,1,2
7   U7   0,1,2,5
8   U8   0,1,2,5
9   U9   0,1,3
10  U10  0,1,3,9
在创建时,Father就为父类的Father加上 ",父类的ID"
这样就创建了子类 例如 U10 继承U9就把U9的全部父类加上,再加上U9的ID 9
在查看U9时,只需要 Father LIKE '%' 9 '%'
这样U9只能看到它下属的U10的信息,而看不到其他人的信息
当然这样的话,如果你要让U9和U10 显示到一起 就看不到U9的信息
所以也可以写成
9   U9   0,1,3,9
10  U10  0,1,3,9,10
根据需要选择吧
------解决方案--------------------你说得不太明白.
大意你可以根据,参考多级菜单的表设计方法去做权限.
ID   名字    能访问到的级别 
--------------------------
1    A      0
2    B      1
3    C      1
4    D      1
5    E      2
6    F      2
7    G      2
8    H      5
这样就可以形成如果目录树样的结构