3

我有一个 ASP.net (.net 4, c#) Web 应用程序(后端:SQL Server 2012)。权限概念(每个用户允许查看哪些数据)在 Web 应用程序中处理。

权限来自不同的来源:

-AD 组成员身份

  • AD 组名称链接到记录的属性

-基础数据库

- 用户被分配到不同的标准

  • 组织架构

  • 位置结构

  • 直接赋值

目前,所有这些都在 Web 应用程序中处理。所以我收集了所有用户的权限,然后我在数据库中查询允许他查看的数据。

现在我需要将权限概念带到数据库级别。目标是用户几乎可以直接查询数据库(预定义视图)(Reporting Services、Excel 等)

知道如何解决这样的问题吗?

考虑加入用户对外键的权限。但这对于 AD 权限是不可能的。或者也许创建一个 dll 并从存储过程中调用这个 dll。然后视图加入存储过程。

4

1 回答 1

2

您应该查看在数据库 http://msdn.microsoft.com/en-us/library/ms188659.aspx中定义角色。然后根据您的要求授予对不同表或视图的权限。我已经看到数据是专门从视图中读取的。因此,这也可能是一种选择。

编辑:

因此,看起来您需要行级安全性。请阅读 Microsoft 提供的本指南。

http://technet.microsoft.com/en-us/library/cc966395.aspx

于 2012-12-05T07:55:54.993 回答