我正在为政府开发数据应用程序,我有一种情况,我需要在一个页面中将数据共享给所有用户,但具有不同的权限级别,可以根据位置控制授权,而不仅仅是简单的管理员和查看者或编辑角色。例如,我有一个位置表,其中包含分层模式的区域、城市和地区,并且页面上显示的所有数据都会受到此位置更改的影响,然后获得城市授权的用户只能看到相关的数据到这个城市,用户可以在页面内获得多个城市和多个数据集的授权,如果我们在记录中维护用户,那么我们需要记录数乘以授权位置,再乘以授权数据集,可以是无穷大。那又怎样'为与特定位置相关的每条数据记录存储这些用户角色的最佳实践是什么?
问问题
43 次
1 回答
1
我首先会看一下行级安全性。它允许您设置安全策略,允许不同的行对不同的组/用户可用。
微软的线程从这里开始:https ://docs.microsoft.com/en-us/sql/relational-databases/security/row-level-security
还有一个关于 Plural Site 的很好的教程。
我会发布一些示例,但主题太广泛,无法在这里回答。
需要注意的一点 - 行级安全性存在性能限制。
如果安全性不是那么重要,那么映射表和一些巧妙的连接是一种流行的方法,并且比行级安全性要快得多 - 取决于您的数据大小。
于 2018-02-07T15:36:41.803 回答