日期:2014-05-19  浏览次数:20457 次

如何让不同的用户访问数据时只能看到属于自己权限的数据(不用SELECT)
比如说A,B,C三个用户

每个用户属于于两个属性   "市场 ", "品牌 "中的一个

根据这两个属性,会建一些表

要做到每个用户登录后,比如说A的发生是 "市场 ",他就只能看到 "市场 "的数据,而不能看到 "品牌 "的数据,前题是不用SELECT语句,而只用数据库自身实现该功能?



------解决方案--------------------
这个不是数据库的问题吧.
------解决方案--------------------
Oracle里面支持,MSSQL不直接支持。
------解决方案--------------------
数据库基本上 实现不了 这种要求,只能通过程序 和视图配合使用...
------解决方案--------------------
根据这两个属性,会建一些表
--------------------------

比如说你有 table1 和 table2 两个表
table1 属于市场 table2 属于品牌

A用户属于市场
B用户属于品牌

那么A 的权限
DENY SELECT ON [dbo].[table2] TO [A]

B 的权限
DENY SELECT ON [dbo].[table1] TO [B]

这样B不能SELECT到table1表,A不能SELECT到table2表
------解决方案--------------------
不过lz 好多分啊...
------解决方案--------------------
通过程序实现吧,数据库不是万能的。
------解决方案--------------------
利用程序来实现比较方便