3.3.2.3 元素<AttributeQuery>
本博客采用知识共享署名 4.0 国际许可协议进行许可
<AttributeQuery>元素用来进行查询“返回此主体的指定属性”。在策略允许的范围内,成功的响应将会以包含属性声明的断言的格式返回。此元素是AttributeQueryType
类型,该类型继承自SubjectQueryAbstractType
类型,并且额外增加了以下元素:
<saml:Attribute> [任意数量]
每一个<saml:Attribute>元素都指定一个需要被返回的属性。如果没有指定具体的属性,则表示任何被策略所允许的属性都要返回。如果一个<saml:Attribute>元素包含了一个或多个<saml:AttributeValue>元素,那么,如果在响应中返回该属性,它不能包含任何与查询中指定的值不相等的值。在特定配置文件或属性所指定的相等规则不存在的情况下,相等被定义为值的相同的XML表示。关于<saml:Attribute>元素更多的信息,可以参考2.7.3.1章节。
单个的查询一定不能包含两个有相同的Name
和NameFormat
值的<saml:Attribute>元素(即,给定的属性在一个查询中只能被命名一次)。
作为对属性查询的响应,SAML机构返回具有如下属性声明的断言:
第3.3.4节中给出的与查询的<Subject>元素匹配的规则确定了哪些断言会被返回。
如果查询中存在任何<Attribute>元素,那么它们会约束/过滤所返回的属性以及可选的返回值,如上所述。
被返回的属性和值可能也会受到特定应用的策略考量的约束。
第二级状态码urn:oasis:names:tc:SAML:2.0:status:UnknownAttrProfile
和urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue
可能被用来说明查询中属性或值信息解释相关的问题。
下列的schema片段定义了<AttributeQuery>元素和它的 AttributeQueryType
复杂类型:
<element name="AttributeQuery" type="samlp:AttributeQueryType"/>
<complexType name="AttributeQueryType">
<complexContent>
<extension base="samlp:SubjectQueryAbstractType">
<sequence>
<element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
Last updated
Was this helpful?