【问题标题】:Bring permission concept to database将权限概念引入数据库
【发布时间】:2012-12-05 07:48:04
【问题描述】:

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

权限来自不同的来源:

-AD 组成员身份

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

-基础数据库

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

  • 组织结构

  • 位置结构

  • 直接赋值

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

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

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

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

【问题讨论】:

    标签: sql-server tsql c#-4.0


    【解决方案1】:

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

    编辑:

    因此,您似乎需要行级安全性。请阅读 Microsoft 提供的此指南。

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

    【讨论】:

    • 嗨,这不能解决我的问题。我有大约 10.000 个用户。并且允许每个人查看单个表的不同数据量(大约 100.000 条记录)
    猜你喜欢
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2015-05-07
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多