记录级别权限

时间:2008-10-21 07:23:54

标签: sql security permissions

在我设计的数据库中,我实现了基于配置文件的对象级安全性。

每个用户都可以根据自己所在的个人资料(角色)查看,编辑,插入,更新数据库表。

现在需要实现“外部用户”,他们只能查看相关记录并编辑其中一些(但不是大部分数据库)。

我正在研究“唱片所有权”模式。

是否有任何关于如何限制属于“外部用户”配置文件的用户查看和使用每个表的某些记录的想法,但不是全部。

3 个答案:

答案 0 :(得分:3)

您应该创建一个限制记录的VIEW,然后在视图上应用适当的权限。

答案 1 :(得分:3)

您可以创建一个VIEW,或者您可以创建选择存储过程并仅为这些过程分配权限。

VIEW是一种简单安全模型的方法 - 如果它很复杂,请使用存储过程。

答案 2 :(得分:0)

我有初稿。它是这样的:

该应用程序是项目管理/问题跟踪/事件管理/协作Web应用程序。

我创建了一个角色“外部用户”。默认情况下,该角色的用户

  • 可以选择人员
  • 可以选择单位(组织单位 - 公司 - 部门等)
  • 可以选择分配给他的项目
  • 可以选择分配给他的任务
  • 无法选择任何其他项目&任务

管理员可以创建一个用户组“外部合作伙伴”并为其分配一些项目和产品(有问题)

该组的成员可以选择已分配的对象。

这是一个复杂的解决方案,但是唯一一个解决我的客户问题的解决方案(他们不希望外部合作伙伴访问他们所有的项目数据库)。