2001-12-26 18:33
Arraymanplx
怎样按记录授权?
假使在数据库中有这样的表,(1)有的用户只能访问(select ,insert,update)自己插入的记录,(2)而有的用户可以访问(select )所有的记录,但不能修改,(3)有的可以访问(select ,insert,update)全部,也可以修改。
请问高手,应该怎样设计数据库的表,角色和视图,比较好一点,谢谢!!!
2001-12-28 09:54
martin0866
可以建一个权限表,用户表,此表。
权限表包括ID,名称,描述,状态;
记录:0,0级,只能访问自己插入的记录,1
1,1级,可以访问所有记录,但不能修改,1
2,2级,有的可以访问全部,也可以修改,1
.......
用户表包括ID,用户名,密码,对应权限ID,状态;
此表包括.......,提交人ID;
对于情况1,如果用户对应权限ID为0,并且提交人为自己,即可。
对于情况2,如果用户对应权限ID为>0,即可。
对于情况2,如果用户对应权限ID为>1,即可,等等。
个人拙见。
2001-12-28 15:45
szloner
由数据库来管理
上面这位高手的权限控制要基于客户端的应用程序来实现,
我想 manplx 的意思是要问数据如何通过用户、角色、视图来
实现。实现方法如下:
建立三个用户:
A1,A2,A3
原有表T,原有用户U, 在U用户下建立两个视图:V1,V2
create view v1 as
select * from t where t.用户字段)=user;
create view v2 as
select * from t;
分别在三个用户下建立同义词:T
A1的T基于视图V1
A2,A3的T基于V2
在U用户下分配权限:
case1:grant select,update,insert on v1 to A1;
case2:grant select on v2 to A2;
Case3:grant select,update,insert on v3 to A3;
这样实现可以让用户感觉在操作同一个表名,其实是通过不同的
的视图对表进行访问的。
2001-12-28 16:15
scott/tiger
赞同szloner的意见。其实,这是View的典型应用之一:权限控制
2005-9-24 10:51
wys2005
赞同 martin0866 作法, martin0866的方法可以更灵活扩展方便, szloner的不是很好 ,
2007-1-22 15:01
quhp1978
数据库
2007-12-31 00:03
lunggz
回复 #4 scott/tiger 的帖子
SO SO!
前端开发太累!不易迁移和升级!
页:
[1]

Powered by ITPUB论坛