日期:2014-05-18  浏览次数:20788 次

权限分级的问题,请高手指点


如图,要实现以下功能: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


这样就可以形成如果目录树样的结构