Windows Server 2012 R2 和 Windows Server 2012 AD FS 中的访问控制策略
本文中所述的策略使用两种类型的声明
声明 AD FS 基于 AD FS 和 Web 应用程序代理可以检查和验证的信息创建,例如直接连接到 AD FS 或 WAP 的客户端的 IP 地址。
声明 AD FS 基于客户端作为 HTTP 标头转发到 AD FS 的信息创建
重要说明:如下所示的策略将阻止Windows 10域加入和登录需要访问以下附加终结点的方案
Windows 10 域加入和登录所需的 AD FS 终结点
- [联合身份验证服务名称]/adfs/services/trust/2005/windowstransport
- [联合身份验证服务名称]/adfs/services/trust/13/windowstransport
- [联合身份验证服务名称]/adfs/services/trust/2005/usernamemixed
- [联合身份验证服务名称]/adfs/services/trust/13/usernamemixed
- [联合身份验证服务名称]/adfs/services/trust/2005/certificatemixed
- [联合身份验证服务名称]/adfs/services/trust/13/certificatemixed
重要说明:/adfs/services/trust/2005/windowstransport 和 /adfs/services/trust/13/windowstransport 终结点应仅启用 Intranet 访问,因为它们意在面向 Intranet 的终结点使用 HTTPS 上的 WIA 绑定。 向 Extranet 公开这些请求可能会允许针对这些终结点的请求绕过锁定保护。 应在代理上禁用这些终结点 (,即从 extranet) 禁用,以保护 AD 帐户锁定。
若要解决,请更新基于终结点声明拒绝的任何策略,以允许上述终结点的异常。
例如,以下规则:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "/adfs/ls/"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");
将更新为:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "(/adfs/ls/)|(/adfs/services/trust/2005/windowstransport)|(/adfs/services/trust/13/windowstransport)|(/adfs/services/trust/2005/usernamemixed)|(/adfs/services/trust/13/usernamemixed)|(/adfs/services/trust/2005/certificatemixed)|(/adfs/services/trust/13/certificatemixed)"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");
注意
此类别的声明应仅用于实施业务策略,而不是作为安全策略来保护对网络的访问。 未经授权的客户端可以发送带有 false 信息的标头作为获取访问权限的方法。
本文中所述的策略应始终用于另一种身份验证方法,例如用户名和密码或多重身份验证。
客户端访问策略方案
| 方案 | 说明 |
|---|---|
| 方案 1:阻止对Office 365的所有外部访问 | Office 365允许从内部公司网络上的所有客户端访问,但外部客户端的请求会根据外部客户端的 IP 地址被拒绝。 |
| 方案 2:阻止对除Exchange ActiveSync以外的Office 365的所有外部访问 | Office 365允许从内部企业网络上的所有客户端以及使用Exchange ActiveSync的任何外部客户端设备(如智能手机)访问。 阻止所有其他外部客户端,例如使用Outlook的客户端。 |
| 方案 3:阻止对除基于浏览器的应用程序以外的Office 365的所有外部访问 | 阻止外部访问Office 365,但基于被动 (基于浏览器的) 应用程序(如 Outlook Web 访问或联机SharePoint)。 |
| 方案 4:阻止对除指定 Active Directory 组以外的Office 365的所有外部访问 | 此方案用于测试和验证客户端访问策略部署。 它仅阻止一个或多个 Active Directory 组的成员对Office 365的外部访问。 它还可用于仅向组成员提供外部访问权限。 |
启用客户端访问策略
若要在 Windows Server 2012 R2 中的 AD FS 中启用客户端访问策略,必须更新Microsoft Office 365标识平台信赖方信任。 选择以下示例方案之一,在Microsoft Office 365标识平台信赖方信任上配置声明规则,以满足组织的需求。
方案 1:阻止对Office 365的所有外部访问
此客户端访问策略方案允许从所有内部客户端进行访问,并基于外部客户端的 IP 地址阻止所有外部客户端。 可以使用以下过程将正确的颁发授权规则添加到所选方案的Office 365信赖方信任。
创建规则以阻止对Office 365的所有外部访问
从服务器管理器单击“工具”,然后单击“AD FS 管理”。
在控制台树的 AD FS\信任关系下,单击“信赖方信任”,右键单击Microsoft Office 365标识平台信任,然后单击“编辑声明规则”。
在 “编辑声明规则 ”对话框中,选择“ 颁发授权规则 ”选项卡,然后单击“ 添加规则 ”以启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果有超出所需范围的任何 IP 声明,则拒绝”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法 (将上述值替换为有效的 IP 表达式) :
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");单击“完成”。 验证新规则是否显示在“颁发授权规则”列表中,然后才能使用默认 的“允许访问所有用户 ”规则, (“拒绝”规则将优先于该规则,即使该规则出现在列表前面) 。 如果没有默认允许访问规则,可以使用声明规则语言在列表末尾添加一个,如下所示:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");若要保存新规则,请在 “编辑声明规则 ”对话框中单击“ 确定”。 生成的列表应如下所示。

方案 2:阻止对除Exchange ActiveSync以外的Office 365的所有外部访问
以下示例允许从内部客户端(包括Outlook)访问所有Office 365应用程序,包括Exchange Online。 它阻止来自驻留在公司网络外部的客户端的访问,如客户端 IP 地址指示,但Exchange ActiveSync客户端(如智能手机)除外。
创建规则以阻止对除Exchange ActiveSync以外的Office 365的所有外部访问
从服务器管理器单击“工具”,然后单击“AD FS 管理”。
在控制台树的 AD FS\信任关系下,单击“信赖方信任”,右键单击Microsoft Office 365标识平台信任,然后单击“编辑声明规则”。
在 “编辑声明规则 ”对话框中,选择“ 颁发授权规则 ”选项卡,然后单击“ 添加规则 ”以启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果有任何 IP 声明超出所需范围,请发出 ipoutsiderange 声明”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法 (将上述值替换为有效的 IP 表达式) :
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果 IP 超出所需范围,并且存在非 EAS x-ms-client-application 声明,拒绝”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application", Value != "Microsoft.Exchange.ActiveSync"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板 ”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“检查应用程序声明是否存在”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法:
NOT EXISTS([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application"]) => add(Type = "http://custom/xmsapplication", Value = "fail");单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板 ”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“拒绝具有 ipoutsiderange true 和应用程序失败的用户”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "http://custom/xmsapplication", Value == "fail"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");单击“完成”。 验证新规则是否紧邻上一条规则,在颁发授权规则列表中默认的“允许访问所有用户”规则之前, (“拒绝”规则将优先于该规则,即使该规则出现在列表前面) 。
如果没有默认允许访问规则,可以使用声明规则语言在列表末尾添加一个,如下所示:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");若要保存新规则,请在 “编辑声明规则 ”对话框中单击“确定”。 生成的列表应如下所示。

方案 3:阻止对除基于浏览器的应用程序以外的Office 365的所有外部访问
创建规则以阻止对除基于浏览器的应用程序以外的Office 365的所有外部访问
从服务器管理器单击“工具”,然后单击“AD FS 管理”。
在控制台树的 AD FS\信任关系下,单击“信赖方信任”,右键单击Microsoft Office 365标识平台信任,然后单击“编辑声明规则”。
在 “编辑声明规则 ”对话框中,选择“ 颁发授权规则 ”选项卡,然后单击“ 添加规则 ”以启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果有任何 IP 声明超出所需范围,请发出 ipoutsiderange 声明”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法 (将上述值替换为有效的 IP 表达式) :
c1:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");
单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板 ”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果某个 IP 超出所需范围,并且终结点不是 /adfs/ls,则拒绝”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value != "/adfs/ls/"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = " DenyUsersWithClaim");`单击“完成”。 验证新规则是否显示在“颁发授权规则”列表中,然后才能使用默认 的“允许访问所有用户 ”规则, (“拒绝”规则将优先于该规则,即使该规则出现在列表前面) 。 如果没有默认允许访问规则,可以使用声明规则语言在列表末尾添加一个,如下所示:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
若要保存新规则,请在 “编辑声明规则 ”对话框中单击“ 确定”。 生成的列表应如下所示。

方案 4:阻止对除指定 Active Directory 组以外的Office 365的所有外部访问
以下示例基于 IP 地址启用从内部客户端的访问。 它阻止驻留在具有外部客户端 IP 地址的公司网络外部的客户端的访问,但指定 Active Directory 组中的那些个人除外。使用以下步骤使用声明规则向导将正确的颁发授权规则添加到Microsoft Office 365标识平台信赖方信任:
创建规则以阻止对Office 365的所有外部访问,但指定的 Active Directory 组除外
从服务器管理器单击“工具”,然后单击“AD FS 管理”。
在控制台树的 AD FS\信任关系下,单击“信赖方信任”,右键单击Microsoft Office 365标识平台信任,然后单击“编辑声明规则”。
在 “编辑声明规则 ”对话框中,选择“ 颁发授权规则 ”选项卡,然后单击“ 添加规则 ”以启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“如果有任何 IP 声明超出所需范围,请发出 ipoutsiderange 声明。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法 (将上述值替换为有效的 IP 表达式) :
`c1:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value =~ "^(?!192\.168\.1\.77|10\.83\.118\.23)"] && c2:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] => issue(Type = "http://custom/ipoutsiderange", Value = "true");`单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板 ”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“检查组 SID”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法, (将“groupsid”替换为正在使用) 的 AD 组的实际 SID:
NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-32-100"]) => add(Type = "http://custom/groupsid", Value = "fail");单击“完成”。 验证新规则是否显示在 “颁发授权规则 ”列表中。
接下来,在“ 编辑声明规则 ”对话框中的“ 颁发授权规则 ”选项卡上,单击“ 添加规则 ”以再次启动声明规则向导。
在 “选择规则模板 ”页上的 “声明规则模板 ”下,选择“ 使用自定义规则发送声明”,然后单击“ 下一步”。
在 “配置规则 ”页上的 “声明规则名称”下,键入此规则的显示名称,例如“拒绝具有 ipoutsiderange true 和 groupsid 的用户失败”。 在 “自定义规则”下,键入或粘贴以下声明规则语言语法:
c1:[Type == "http://custom/ipoutsiderange", Value == "true"] && c2:[Type == "http://custom/groupsid", Value == "fail"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");
- 单击“完成”。 验证新规则是否紧邻上一条规则,在颁发授权规则列表中默认的“允许访问所有用户”规则之前, (“拒绝”规则将优先于该规则,即使该规则出现在列表前面) 。 如果没有默认允许访问规则,可以使用声明规则语言在列表末尾添加一个,如下所示:
c:[] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
若要保存新规则,请在 “编辑声明规则 ”对话框中单击“确定”。 生成的列表应如下所示。

生成 IP 地址范围表达式
x-ms-forwarded-client-ip 声明是从当前仅由Exchange Online设置的 HTTP 标头填充的,该标头在将身份验证请求传递给 AD FS 时填充标头。 声明的值可以是下列值之一:
注意
Exchange Online目前仅支持 IPV4,不支持 IPV6 地址。
- 单个 IP 地址:直接连接到Exchange Online的客户端的 IP 地址
注意
- 公司网络上客户端的 IP 地址将显示为组织的出站代理或网关的外部接口 IP 地址。
- 通过 VPN 或 Microsoft DirectAccess (DA) 连接到企业网络的客户端可能会显示为内部公司客户端或外部客户端,具体取决于 VPN 或 DA 的配置。
- 一个或多个 IP 地址:当Exchange Online无法确定连接客户端的 IP 地址时,它将根据 x 转发的标头的值来设置值,这是一个非标准标头,可以包含在基于 HTTP 的请求中,并且受市场上许多客户端、负载均衡器和代理的支持。
注意
- 多个 IP 地址(指示客户端 IP 地址和传递请求的每个代理的地址)将用逗号分隔。
- 与Exchange Online基础结构相关的 IP 地址不会在列表中。
“正则表达式”
必须匹配一系列 IP 地址时,必须构造正则表达式来执行比较。 在下一系列步骤中,我们将提供有关如何构造此类表达式以匹配以下地址范围的示例 (请注意,必须更改这些示例以匹配公共 IP 范围) :
192.168.1.1 – 192.168.1.25
10.0.0.1 – 10.0.0.14
首先,将匹配单个 IP 地址的基本模式如下所示:\b###\.##\.#\.##\.##\##\b
为此,我们可以将两个不同的 IP 地址与 OR 表达式匹配,如下所示:\b###\.##\.##\.##\.##\b|\b##\.##\.##\.##\.##\b
因此,仅匹配两个地址的示例 (,例如 192.168.1.1 或 10.0.0.1) 为:\b192\.168\.1\b|\b10\.0\.0\.1\b
这为你提供了可以输入任意数量的地址的技术。 需要允许一系列地址的地方, 例如 192.168.1.1 – 192.168.1.25,匹配必须按字符完成:\b192\.168\.1\. ([1-9]|1[0-9]|2[0-5]) \b
请注意以下事项:
IP 地址被视为字符串,而不是数字。
规则按如下所示细分:\b192\.168\.1\。
这与从 192.168.1 开始的任何值匹配。
以下匹配在最终小数点之后地址部分所需的范围:
([1-9] 匹配以 1-9 结尾的地址
|1[0-9] 匹配以 10-19 结尾的地址
|2[0-5]) 匹配地址以 20-25 结尾
请注意,括号必须正确定位,这样就不会开始匹配 IP 地址的其他部分。
匹配 192 块后,我们可以为 10 个块编写类似的表达式:\b10\.0\.0\. ([1-9]|1[0-4]) \b
把它们放在一起, 以下表达式应匹配“192.168.1.1~25”和“10.0.0.1~14”的所有地址:\b192\.168\.1\. ([1-9]。 |1[0-9]|2[0-5]) \b|\b10\.0\.0\. ([1-9]|1[0-4]) \b
测试表达式
正则表达式可能变得相当棘手,因此强烈建议使用正则表达式验证工具。 如果对“联机正则表达式生成器”进行 Internet 搜索,你会发现几个优秀的联机实用工具,使你能够针对示例数据试用表达式。
测试表达式时,必须了解需要匹配的内容。 Exchange联机系统可能会发送许多 IP 地址,用逗号分隔。 上面提供的表达式将适用于此情况。 但是,测试正则表达式时,请务必考虑这一点。 例如,可以使用以下示例输入来验证上面的示例:
192.168.1.1, 192.168.1.2, 192.169.1.1. 192.168.12.1, 192.168.1.10, 192.168.1.25, 192.168.1.26, 192.168.1.30, 1192.168.1.20
10.0.0.1, 10.0.0.5, 10.0.0.10, 10.0.1.0, 10.0.1.1, 110.0.0.1, 10.0.0.14, 10.0.0.15, 10.0.0.10, 10,0.0.1
声明类型
Windows Server 2012 R2 中的 AD FS 使用以下声明类型提供请求上下文信息:
X-MS-Forwarded-Client-IP
声明类型: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip
此 AD FS 声明表示确定 (用户的 IP 地址的“最佳尝试”,例如,Outlook客户端) 发出请求。 此声明可以包含多个 IP 地址,包括转发请求的每个代理的地址。 此声明是从 HTTP 填充的。 声明的值可以是下列值之一:
- 单个 IP 地址 - 直接连接到Exchange Online的客户端的 IP 地址
注意
公司网络上客户端的 IP 地址将显示为组织的出站代理或网关的外部接口 IP 地址。
一个或多个 IP 地址
如果Exchange Online无法确定连接客户端的 IP 地址,它将根据 x 转发标头的值(一个非标准标头)来设置该值,该标头可以包含在基于 HTTP 的请求中,并且受市场上许多客户端、负载均衡器和代理的支持。
多个 IP 地址,指示客户端 IP 地址和传递请求的每个代理的地址将用逗号分隔。
注意
列表中不存在与Exchange Online基础结构相关的 IP 地址。
警告
Exchange Online目前仅支持 IPV4 地址;它不支持 IPV6 地址。
X-MS-Client-Application
声明类型: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application
此 AD FS 声明表示最终客户端使用的协议,该协议与所使用的应用程序松散对应。 此声明是从当前仅由Exchange Online设置的 HTTP 标头填充的,该标头在将身份验证请求传递给 AD FS 时填充标头。 根据应用程序,此声明的值将是以下项之一:
对于使用 Exchange Active Sync 的设备,该值为 Microsoft.Exchange。ActiveSync。
使用 Microsoft Outlook 客户端可能会导致以下任何值:
微软。Exchange。自动发现
微软。Exchange。OfflineAddressBook
微软。Exchange。RPCMicrosoft。Exchange。WebServices
微软。Exchange。RPCMicrosoft。Exchange。WebServices
此标头的其他可能值包括:
微软。Exchange。Powershell
微软。Exchange。SMTP
微软。Exchange。流行
微软。Exchange。Imap
X-MS-Client-User-Agent
声明类型: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-user-agent
此 AD FS 声明提供一个字符串来表示客户端用于访问服务的设备类型。 当客户希望防止某些设备访问时,可以使用此功能 (,例如特定类型的智能手机) 。 此声明的示例值包括 (,但不限于) 以下值。
下面是 x-ms-user-agent 值对于 x-ms-client-application 为“Microsoft”的客户端可能包含的示例。Exchange。ActiveSync”
Vortex/1.0
Apple-iPad1C1/812.1
Apple-iPhone3C1/811.2
Apple-iPhone/704.11
Moto-DROID2/4.5.1
SAMSUNGSPHD700/100.202
Android/0.3
此值也可能为空。
X-MS-Proxy
声明类型: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy
此 AD FS 声明指示请求已通过 Web 应用程序代理。 此声明由 Web 应用程序代理填充,该代理在将身份验证请求传递到后端联合身份验证服务时填充标头。 然后,AD FS 将其转换为声明。
声明的值是传递请求的 Web 应用程序代理的 DNS 名称。
InsideCorporateNetwork
声明类型: https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork
与上述 x-ms-proxy 声明类型类似,此声明类型指示请求是否已通过 Web 应用程序代理传递。 与 x-ms-proxy 不同,insidecorporatenetwork 是一个布尔值,其值为 True,指示直接从企业网络内的联合身份验证服务请求。
X-MS-Endpoint-Absolute-Path (主动与被动)
声明类型: https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path
此声明类型可用于确定源自“主动” (丰富) 客户端的请求与基于 Web 浏览器) 客户端的“被动” (。 这允许从基于浏览器的应用程序(如 Outlook Web Access、SharePoint Online 或Office 365门户)发出外部请求,同时阻止来自富客户端(如 Microsoft Outlook)的请求。
声明的值是接收请求的 AD FS 服务的名称。