Authorization 授权:根据用户授权过滤数据

Authorization 授权:根据用户授权过滤数据,authorization,access-control,xacml,role-base-authorization,Authorization,Access Control,Xacml,Role Base Authorization,我们需要实现如下授权规则 若用户是超级管理员,那个么给他所有的客户信息。比如订单信息。 如果用户是客户管理员,则只提供他自己的客户信息。等等 我们计划在DAO层实现过滤 对于创建一个通用设计来处理此场景,您有什么建议?假设我们的应用程序已经有了RBAC(基于角色的授权控制)的数据库模型。我们对任何DAO技术都是开放的,如JPA、iBATIS或本机查询等 高级接受标准是授权策略应该是可配置的,并且可以在运行时更改。 示例:若客户管理员可以查看自己的数据,则将来可以更改规则以允许他们查看自己和朋友的

我们需要实现如下授权规则

若用户是超级管理员,那个么给他所有的客户信息。比如订单信息。 如果用户是客户管理员,则只提供他自己的客户信息。等等

我们计划在DAO层实现过滤

对于创建一个通用设计来处理此场景,您有什么建议?假设我们的应用程序已经有了RBAC(基于角色的授权控制)的数据库模型。我们对任何DAO技术都是开放的,如JPA、iBATIS或本机查询等

高级接受标准是授权策略应该是可配置的,并且可以在运行时更改。 示例:若客户管理员可以查看自己的数据,则将来可以更改规则以允许他们查看自己和朋友的数据


我们评估了像XACML这样的授权策略,但由于其复杂性,不愿意实现它。我们正计划编写一个自主开发的解决方案。欢迎提出任何建议

您在回答中写道,您查看了XACML,但没有实现它。您应该做的是将XACML从供应商或开源替代品的架子上拿下来。无论是WSO2(开放源代码)还是Axiomatics(供应商),您都会发现很多

是基于细粒度属性的访问控制的de-factor标准(参见NIST的主题)。它已经有10年的历史了,IBM、微软、甲骨文、Axiomatics和美国银行都支持它。恕我直言,我非常怀疑本土解决方案是否可行

您正在寻找DAO层的过滤。看起来你可以用这个。它是基于XACML的,您不需要实现任何特定的功能(请阅读:开发人员的工作量非常低)

我不能强迫你去这样或那样的方式,但我会认真考虑以标准为基础。在短期内,任何其他方式都可能听起来是个好主意,但在中长期内都会受到严重影响