我们选择了keycloak对春季启动服务进行身份验证和授权。我们已经成功实现了RBAC
用例。但是我们想转到ABAC
上,它可以给我们带来很多控制权。我们研究了CIP(声明信息点),并通过推送来自app.properties的声明并在js策略中进行验证来对其进行了测试。但是我们的要求是获取http方法类型并验证它是否为GET / POST / PUT / DELETE等,然后根据角色决定是否允许。我们实现了将其扔到application.properties中的config以下
keycloak.policy-enforcer-config.paths[0].path=/*
keycloak.policy-enforcer-config.paths[0].claimInformationPointConfig.claims[claim-from-method]={request.method}
并按照以下js政策进行验证
var context = $evaluation.context;
var attributes = context.attributes;
if (attributes.containsValue('some-claim', 'claim-value')) {
$evaluation.grant();
}
但是我已经看到有HttpClaimInformationPointProvider
和,所以想找出是否有任何方法可以直接在js策略中对其进行验证,而无需从app.properties中推送它。 < / p>