Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 Shiro,我们在 GF 上运行的企业应用程序中嵌入了一个出色的安全框架。您定义用户、角色、权限,如果用户可以访问应用程序、特定页面甚至单击特定按钮,我们可以在任何细粒度级别进行控制。
是否有一种方法或模式,允许在此之上限制用户查看某些数据?
示例:您有 3 个工厂(一家公司的一部分)的客户表。管理员用户可以查看所有客户记录,但本地工厂的用户不得查看其他工厂的任何客户数据(无论出于何种原因)。
安全功能应该是角色定义的一部分。
感谢您的任何意见和想法
向您的应用程序添加一个或多个安全表,其中包含UserID要证券化的资源的表的主键和外键。
UserID
在新表中为您要授予访问权限的每个用户/资源组合创建记录。
然后,当从数据库请求资源时,只需使用资源键将安全表连接到资源表,并UserID为当前登录的用户过滤安全表。这将修剪输出,删除任何用户无权访问的记录。
创建允许您在安全表中设置新记录以授予用户对资源的访问权限的表单相对简单。
注意: 在您提到的特定情况下,您只需要用户数据库中的一个字段来保存用户有权访问的客户数据库中的主键的值。