多个用户在同一张桌子上

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

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

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

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

【讨论】:

是的,但是拥有 1000 多个用户/租户,拥有如此多的浏览量似乎有点矫枉过正? 观看次数会很多!如何通过存储过程来管理 IO,这些存储过程传递了一个tenant_ID 来限制它们的输出。您还可以使用tenant_ID 作为参数再次查看表值函数

以上是关于多个用户在同一张桌子上的主要内容,如果未能解决你的问题,请参考以下文章

在同一张桌子上加入两次的最佳方式是啥?

父/子在同一张桌子

Laravel 在同一张桌子上返回父母的孩子

Laravel 使用 ajax 请求在同一张桌子上返回父母的孩子?

来自同一张桌子的2个外键

每月最后一天加入第二张桌子