1.3.4 ID和ID引用值
本博客采用知识共享署名 4.0 国际许可协议进行许可
简单类型xs:ID
用来声明断言、请求和响应的SAML标识符。规范中,被声明为xs:ID
的值除了满足xs:ID
类型定义规定的要求之外,也必须满足下列属性:
任何分配标识符的一方必须确保其自身或者其他一方给不同的数据对象碰巧地生成相同标识符的概率是可以忽略不计的。
不管数据对象在哪里声明它有一个特定的标识符,那里必须有且仅有一个这样的声明。
译者(义臻)注:标识符的生成方应该保证标识符的全局唯一性
SAML系统实体确保标识符是唯一的机制留给实现。在使用随机数或者伪随机数的场景中,随机选择地两个标识符是一样的可能性必须小于等于2的-128次方,并且应该小于等于2的-160次方。这个要求可以通过编码一个随机选择的长度在128和160比特位之间的值来满足。编码必须符合定义xs:ID
数据类型的规则。伪随机数生成器必须用一个唯一的材料作为种子,以确到不同系统之间的一致性。
简单类型xs:NCName
在SAML中用于引用xs:ID
类型的标识符,因为xs:IDREF
不能用于此目的。在SAML中, SAML标识符引用所引用的元素实际上可能在一个文档中定义,而这个文档和使用标识符引用的那个文档是分开的。使用xs:IDREF
会违反其值要与同一XML文档中某个元素的ID属性值所匹配这一要求。
注意:预计万维网联盟将标准化一个用于保存ID类型值的全局属性,叫做
xml:id
[XML-ID]。安全服务技术委员会计划在xml:id
属性标准化后尽快从SAML专门的ID属性转向这种分配唯一标识符的风格。
Last updated
Was this helpful?