我正在使用数据库SQL Server 2005在C#中编写应用程序。它使用Windows身份验证。
问题是用户应该根据存储在数据库中的信息获取权限。
F.e。我在我的数据库中存储有关不同项目的信息。每个项目都有一个领导者,每个项目属于某个领域,每个领域都有管理员。 因此,启动某个项目的人应该只能修改该项目。 管理员也可以启动项目,但仍然无法修改其他项目。 这适用于不同的选择,更新和插入案例。
我不喜欢在存储过程调用中检查权限的想法,因为如果某些类工作者的权限发生更改,则应重写所有这些权限。
在我的情况下控制访问的最佳方法是什么?
答案 0 :(得分:0)
您无法解决权限基于数据这一事实,因此您需要在操作之前检查数据。也就是说,在某处的代码中。
这是简化的,但这是你必须要做的。
对于存储过程,您可以调用另一个存储过程,该过程将检查权限以集中所有检查,以便于维护。