爱心技术专栏专题

使用视图控制用户对数据访问

摘录:SQLServer 来源:SQLServer 加入时间:2006年11月24日
摘要:
使用视图控制用户对数据访问

:我的Microsoft Access 2000应用程序由后端的SQL Server 2000数据库写入数据。为防止Access的用户看到SQL Server 2000表中的全部数据,我想使用一种只允许用户浏览授权数据行的视图。可以创建一种限制用户访问SQL Server数据的视图吗?

:可以。如果每位用户以唯一的用户ID登录到Acces…

转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info10/a_b3f571cb33659167.htm

使用视图控制用户对数据访问

站点:爱心种子小博士 关键字:使用视图控制用户对数据访问

   
使用视图控制用户对数据访问

:我的Microsoft Access 2000应用程序由后端的SQL Server 2000数据库写入数据。为防止Access的用户看到SQL Server 2000表中的全部数据,我想使用一种只允许用户浏览授权数据行的视图。可以创建一种限制用户访问SQL Server数据的视图吗?

:可以。如果每位用户以唯一的用户ID登录到Access,您就可以创建一种限制用户访问SQL Server数据的视图。以下的示例语句就可以创建这样一种视图:

CREATE VIEW v_data AS
  SELECT <column_list>
     FROM dbo.mytable AS a
     INNER JOIN dbo.authtable AS b
     ON (a.Pkey = b.DataKey
AND b.userid = suser_sname())

该视图按userid限制用户的访问权。它要求您保存一份与数据表(mytable)中特定主键相匹配的用户名的表(authtable)。如果您的情况相对比较简单——您无需管理多个用户的行访问权,则您可以将userid列插入到数据表中,如下列代码所示:

CREATE VIEW v_data AS
  SELECT <column_list>
    FROM dbo.mytable AS a
    WHERE a.userid = suser_sname()

—Microsoft SQL Server 开发团队


客户服务中心信箱:[email protected] [email protected] 网站地图

声明

合作伙伴: