【问题标题】:Multiple users on the same table多个用户在同一张桌子上
【发布时间】:2011-02-21 11:34:10
【问题描述】:

我正在建立一个数据库 用户将访问同一个表,但他们不能编辑彼此的记录。 我将在我的 .NET 应用程序中使用视图+插入/更新/删除存储过程。

实现安全访问表格的最佳方法是什么?

【问题讨论】:

    标签: sql-server permissions


    【解决方案1】:

    听起来您正在构建一种多租户应用程序。对于我的 10 美分,最好在您的应用程序代码中处理此授权。以下链接中有几篇关于此类系统架构的 MSDN 文章:

    http://msdn.microsoft.com/en-us/library/aa479086.aspx

    【讨论】:

    • 即使用户可以直接访问数据库?
    • @gbn - 在这种情况下,显然不是,但是如果您通过应用程序控制所有访问,那么您应该处理它。
    • 优秀的文章! (这是该系列文章的一部分,绝对值得一读)
    【解决方案2】:

    您可以更改其安全选项并禁用对基表的访问。然后,您可以通过存储过程或视图来完成所有 IO。

    例如,您为 A 公司创建一个视图,为 B 公司创建另一个视图,A 公司只有查看其视图的权限,依此类推。

    【讨论】:

    • 是的,但是拥有 1000 多个用户/租户,拥有如此多的浏览量似乎有点矫枉过正?
    • 观看次数会很多!如何通过存储过程来管理 IO,这些存储过程传递了一个tenant_ID 来限制它们的输出。您还可以使用tenant_ID 作为参数再次查看表值函数
    猜你喜欢
    • 2019-08-29
    • 2018-06-06
    • 2012-05-23
    • 2013-08-14
    • 1970-01-01
    • 2014-07-24
    • 2017-02-07
    • 2011-11-17
    • 2018-03-19
    相关资源
    最近更新 更多