ope*_*sas 5 sql-server permissions database-design
我们目前有一个非常简单的安全模式......
我们有资源,大致映射到表,我们可以访问这些资源(添加、修改、删除、查询),我们有组。
每个权限都包含一个资源,具有指定的访问权限和一个组
每个用户可以属于许多组...
因此,权限在组、访问和资源之间是多对多的
并且我们在用户和组之间也有多对多。
这对我们的需求来说很好......
我想考虑的是一种在记录级别以类似方案授予数据权限的方法。我需要一种根据用户访问级别“过滤”记录的方法。
例如,属于某个组的用户可以看到一个表(资源)的所有记录,而另一个组的用户只能看到满足特定条件的记录,即他们看到过滤后的数据......
我正在考虑在权限表中添加一个“表达式”字段,以便在访问某个资源时应用过滤器(实际上它会更复杂一点,我必须应用该组的每个过滤器用户所属,用“或”连接)
我希望它尽可能通用和可配置......
你会如何处理这样的用例?
我发现您还没有答案 - 我当然不确定适合您的正确答案是什么,但这是我对其价值的看法。
我可能误解了,但如果我试图对角色/组对资源实施细粒度的访问控制,我会在应用程序中而不是在数据存储解决方案中执行此操作。
我不知道在这种情况下这是否适合您,但是如果您在数据层中实现安全性,那么您可能会遇到缺乏灵活性的问题,甚至可能会遇到供应商锁定(如果您最终这样做)使用专有扩展。
对这里的任何支持/冲突的观点非常感兴趣。