如何对绑定数据集强制实施安全性或权限?

时间:2009-07-03 12:38:42

标签: security strongly-typed-dataset

使用强类型数据集及其相关表适配器,通常当我希望更改传回时,只需将表传递给它,让它完成所有工作。

在数据库使用应用程序ID而不是用户级安全性时,有哪些简单方法可以在应用程序用户上强制执行安全角色,以确定可以插入/更新/删除哪些字段?

我是否必须逐行检查并检查每一行是否允许该特定用户执行此操作(通过根据角色的权限检查每个字段的当前版本与其建议的版本?

我认为第一级安全性是锁定特定用户不应修改的UI上的列,但在数据级别呢?有没有一个很好的方法来做到这一点?

linq-to-sql中这个更容易吗?

1 个答案:

答案 0 :(得分:0)

首先,您是在询问实际的安全性还是只是控制/安全/防呆(即阻止用户做一些愚蠢的事情)?

如果您尝试强制执行安全性,请尝试回答一些问题,例如谁可以连接到数据库?实际执行在哪里(例如,应用程序与数据库的连接)?

例如,如果您的应用程序处于强制执行的位置,那么如果您的应用程序遭到入侵,该怎么办?然后它可以连接到数据库并做任何事情吗?

对于角色分离,我建议运行/分配不同角色的不同应用程序。每个角色都必须以某种方式对数据库进行身份验证,并且只能访问必要的数据。

总之,询问谁在做什么对谁以及如果他们受到了损害。