sql-server - 将权限概念引入数据库

标签 sql-server tsql c#-4.0

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

权限来自不同的来源:

-AD 组成员资格:

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

-底层数据库:

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

  • 组织结构

  • 位置结构

  • 直接赋值

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

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

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

想过加入用户对外键的权限。但这对于 AD 权限是不可能的。 或者可能创建一个 dll 并从存储过程调用此 dll。然后 View 加入存储过程。

最佳答案

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

编辑:

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

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

关于sql-server - 将权限概念引入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13718514/

相关文章:

asp.net - Application_AuthenticateRequest无限循环

c# - 更改 .net DateTime 的 Dapper 映射以使用 DbType DateTime2 并再次恢复它

sql - 如何在不更改总和的情况下舍入单个 SQL 请求中的列?

sql-server - "Adding a value to a ' 日期时间 ' column caused an overflow."

SQL Server : Where condition based on the parameters

asp.net - 将 VS2010 迁移到 VS2013 - 我们将面临哪些主要变化?

wpf - 数据网格文本对齐

sql-server - 在 ms sql server 上进行全文搜索时如何处理用户输入?

c# - 在 C# 中使用 SQL 获取数据库的驱动器号

sql - sql中变量的数据类型大小