多个用户在同一张桌子上
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 作为参数再次查看表值函数以上是关于多个用户在同一张桌子上的主要内容,如果未能解决你的问题,请参考以下文章