我已经使用 Wso2 GUI 创建了 XACML 策略。
我也使用了基本策略编辑器。我给出了以下参数
对于策略(在第一个选项卡中,我只给出了资源名称,其他字段留空):资源名称:https ://www.xyz.com/blabla/
(在第二个选项卡中)规则效果:允许
用户:角色等于建筑师
动作名称:等于读取
所以策略是在这个条件下生成的:
建筑师
这里的属性 id 是:AttributeId="http://wso2.org/claims/role"
现在,当我尝试使用 Tryit 工具测试这个策略时,通过在 GUI 中传递参数,自动请求是从 WSO2 生成的,该请求具有以下角色的属性 id:
AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
并且因为,策略属性 id 与我的测试请求属性 id 不匹配,所以不断给出中间回复。
我阅读了一些博客并了解发送请求时必须匹配attributeId。
我手动更改请求,然后它工作正常。
这里的问题是,为什么 WSO2 身份服务器正在创建具有不同属性 ID 的请求,而我们已经从相同的 Wso2 身份服务器创建了策略?我认为当您使用相同的编辑器创建它并使用相同的参数对其进行测试时,两者都应该匹配。
或者我在这里错过了什么?