【问题标题】:SQL Server 2005, rights validationSQL Server 2005,权限验证
【发布时间】:2011-08-03 08:39:33
【问题描述】:

我正在用 C# 编写一个使用数据库 SQL Server 2005 的应用程序。它使用 Windows 身份验证。

问题是用户应该根据存储在数据库中的信息来获取权限。

F.e.我将有关不同项目的信息存储在我的数据库中。每个项目有一个领导,每个项目属于某个领域,每个领域都有管理员。 因此,启动某个项目的人应该只能修改该项目。 管理员也可以启动项目,但仍然不能修改其他项目。 这适用于不同的选择、更新和插入情况。

我不喜欢在存储过程调用中检查权限的想法,因为如果某类工作人员的权限发生更改,所有这些都应该重写。

在我的情况下,控制访问的最佳方法是什么?

【问题讨论】:

    标签: c# sql-server-2005 rights-management


    【解决方案1】:

    您无法绕开权限基于数据这一事实,因此您需要在操作之前检查数据。也就是说,在某处的代码中。

    • 在“创建”过程/视图中,您需要检查当前用户是否为管理员
    • update proc/view 中,您需要检查用户是否匹配列

    这很简单,但这是你必须要做的。

    对于存储过程,您可以调用另一个存储过程来检查权限,以便将所有检查集中在几个地方,以便于维护。

    【讨论】:

    • 我希望有更好的方法。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多