使用Shiro,我们在GF上运行的企业应用程序中嵌入了一个很好的安全框架。您可以定义用户,角色和权限,如果用户可以访问应用程序,某个页面甚至单击特定按钮,我们就可以控制任何细粒度级别。
是否有配方或模式允许用户限制用户查看某些数据?
示例:您有3个工厂的客户表(一个公司的一部分)。管理员用户可以查看所有客户记录,但本地工厂的用户不得查看其他工厂的任何客户数据(无论出于何种原因)。
安全功能应该是角色定义的一部分。
感谢您的任何意见和建议
答案 0 :(得分:1)
向应用程序添加一个或多个安全表,其中包含UserID
和包含要证券化资源的表的主键的外键。
在新表中为您要授予访问权限的每个用户/资源组合创建记录。
然后,当从数据库请求资源时,只需使用资源键将安全表加入资源表,并过滤当前登录用户的安全表的UserID
。这将修剪输出,删除用户无权访问的任何记录。
创建允许您在安全表中设置新记录的表单相对简单,授予用户对资源的访问权。
注意:在您提到的特定情况下,您只需要在用户数据库中包含一个字段,该字段包含用户可以访问的客户数据库中的主键值。