统一资源标识符(URI)是用作唯一标识符的字符字符串。 在 AD FS 中,URI 用于标识合作伙伴网络地址和配置对象。 用于标识合作伙伴网络地址时,URI 始终是 URL。 用于标识配置对象时,URI 可以是 URN 或 URL。 有关 URI 的更多常规信息,请参阅 RFC 2396 和 RFC 3986。
用作合作伙伴网络地址的 URI
以下是通常由 AD FS 中的管理员处理的网络地址 URL。
- 联合身份验证服务的 URL,包括 WS 联合身份验证、SAML、WS-Trust、联合元数据、WS-MetadataExchange、隐私和组织 URL 
- 信赖方信任的 URL,包括 WS 联合身份验证、SAML 和联合元数据 URL 
- 声明提供程序信任的 URL,包括 WS 联合身份验证、SAML 和联合元数据 URL 
URI 作为对象标识符
下表描述了 AD FS 中管理员最常处理的标识符。
| 标识符名称 | 说明 | 比较 | 
|---|---|---|
| 联合身份验证服务标识符 | 此标识符用于标识联合身份验证服务。 它由使用来自此联合身份验证服务的声明的信赖方以及向此联合身份验证服务发出声明的声明提供程序使用。 | 当用户从声明提供程序请求有关此联合身份验证服务的声明时,联合身份验证服务标识符将用于标识声明的目标。 当此联合身份验证服务从声明提供者接收声明时,它将通过查找其联合身份验证服务标识符来确认这些声明是否针对它。 当信赖方从此联合身份验证服务接收声明时,信赖方将检查声明的颁发者是否与联合身份验证服务标识符匹配。 | 
| 信赖方标识符 | 此标识符用于标识此联合身份验证服务的信赖方。 在向信赖方发出声明时使用。 | 当用户向此联合服务请求信赖方的宣称时,将使用信赖方标识符来识别宣称应针对的目标信赖方。  此比较是使用前缀匹配完成的(请参阅下文)。 当信赖方收到声明时,它将检查其在安全令牌中的标识符,以确保声明的目标是它。 | 
| 声明提供程序标识符 | 此标识符用于标识此联合身份验证服务的声明提供程序。 当从索赔提供者接收索赔时会使用它。 | 当此联合身份验证服务从声明提供程序接收声明时,此联合身份验证服务将检查声明的颁发者是否与声明提供程序标识符匹配。 | 
| 声明类型 | 此标识符用于定义声明的类型。 它由此联合身份验证服务、声明提供程序和信赖方收发声明时使用。 | 当联合身份验证服务从声明提供程序接收声明时,与相应的声明提供程序信任关联的声明规则允许管理员比较声明类型和处理声明。 与信赖方信任关联的声明规则也允许管理员比较来自声明提供程序信任规则的声明的声明类型,并决定要发出的声明。 | 
信赖方标识符的 URI 前缀匹配
URI 的路径语法按层次结构进行组织,由所有“/”字符或所有“:”字符分隔。 因此,可以根据分隔符将路径拆分为路径部分。 当前缀匹配时,每个部分都必须根据匹配规则(这些规则控制匹配项的大小写)完全匹配。 有关匹配规则的详细信息,请参阅上述 RFC。
在向联合身份验证服务的请求中标识信赖方时,AD FS 使用前缀匹配逻辑来确定 AD FS 配置数据库中是否存在匹配的信赖方信任。
例如,如果 AD FS 配置数据库中的信赖方标识符(URI1)是传入请求中信赖方标识符(URI2)的前缀,则必须符合以下条件:
- 必须忽略路径部分或授权的尾部分隔符(斜杠和冒号) 
- URI1 和 URI2 的方案和授权部分必须完全匹配(不区分大小写) 
- URI1 的每个路径部分必须与 URI2 的相应路径部分完全匹配(基于所选择的大小写敏感性) 
- URI2 的路径节可能多于 URI1,但 URI1 不能具有比 URI2 更多的路径部分 
- URI1 不能有比 URI2 更多的路径节 
- 如果 URI1 具有片段,则它必须与 URI2 片段完全匹配 
注释
不支持查询字符串参数,在信赖方标识符中将被忽略。
下表提供了其他示例。
| AD FS 配置数据库中的信赖方标识符 | 请求消息中的信赖方标识符 | 请求标识符与配置标识符匹配? | 原因 | 
|---|---|---|---|
| http://contoso.com | http://contoso.com | TRUE | 完全匹配 | 
| http://contoso.com/ | http://contoso.com | TRUE | 忽略尾部斜杠 | 
| http://contoso.com | http://contoso.com/ | TRUE | 忽略尾部斜杠 | 
| http://contoso.com | http://contoso.com/hr | TRUE | URI1 没有路径,其方案和权限与 URI2 匹配 | 
| http://contoso.com/hr | http://contoso.com/hr/web | TRUE | 第一个路径节匹配,URI1 没有第二个路径部分 | 
| http://contoso.com/hr/ | http://contoso.com/hrw/main | FALSE | URI1 路径第 1 部分与 URI2 路径第 1 节不匹配 | 
| http://contoso.com/hr | http://contoso.com | FALSE | URI1 的路径节多于 URI2 | 
| http://contoso.com/hr | http://contoso.com/hrweb | FALSE | 第一个路径部分不匹配 | 
| https://contoso.com | http://contoso.com | FALSE | 方案部件不匹配 | 
| http://sts.contoso.com | http://contoso.com | FALSE | 授权部分不匹配 | 
| http://contoso.com | http://sts.contoso.com | FALSE | 授权部分不匹配 |