【问题标题】:Record level permissions记录级权限
【发布时间】:2010-09-18 06:35:12
【问题描述】:

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

每个用户都可以根据他所属的配置文件(角色)查看、编辑、插入、更新数据库表。

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

我正在研究“记录所有权”模型。

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

【问题讨论】:

    标签: sql security permissions


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我有我的初稿。它是这样的:

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

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

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-31
          • 2017-12-26
          • 2014-06-02
          • 2019-07-18
          • 2022-07-20
          • 1970-01-01
          相关资源
          最近更新 更多