我有两个保单商店。一种是简单策略存储 (SPS),另一种是管理策略存储 (APS)。针对访问策略的简单访问请求工作正常。但是,当我根据以下策略(APS)评估管理请求时......(我只展示了一个组件策略);
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">shibli</AttributeValue>
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:delegate" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
那么这将产生以下错误;
<Response xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"><Result><Decision>Indeterminate</Decision><Status><StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:missing-attribute"/><StatusMessage>Couldn't find AttributeDesignator attribute</StatusMessage><StatusDetail>
<MissingAttributeDetail AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" ></MissingAttributeDetail>
</StatusDetail></Status></Result></Response>.
更新: 这是我的要求;
"<Attributes Category=\"urn:oasis:names:tc:xacml:3.0:attribute-category:delegate\">\n"+
"<Attribute AttributeId=\"urn:oasis:names:tc:xacml:1.0:subject:subject-id\" IncludeInResult=\"false\">\n"+
"<AttributeValue DataType=\"http://www.w3.org/2001/XMLSchema#string\">"+issuer+"</AttributeValue>\n"+
"</Attribute>\n"+
"</Attributes>\n"+
任何人都可以指导我!
提前致谢
此致,