在 Active Directory Federation Services (ADFS) 服务器中添加 cookie 处理

缺省情况下,Internet Information Services (IIS) 服务器作为 ADFS 配置的一部分,可以在特定路径和特定主机上设置 ADFS cookie。要将这些 cookie 用于门户网站服务器与 ADFS 服务器之间的单点登录 (SSO),这些 cookie 也需要随请求一起流至门户网站服务器。必须更改 cookie 域和 cookie 路径。

过程

  • 要更改 cookie 域,请打开 IIS ADFS 模块的 web.CONF 并添加以下内容:
    <configuration>
    
    ...
    
    <system.web>
    
    ...
    
    <httpCookies domain="your_domain" httpOnlyCookies="false" requireSSL="false" />
    
    ...
  • 要更改 cookie 路径,在 IIS 上需要存在 outboundRule。 为通过 IIS 管理控制台支持此 outboundRule,需要“应用程序请求路由 (ARR)”。此增强功能可以创建 outboundRule,如以下示例所示:
    <rewrite>
    <outboundRules>
    <remove name="ChangeCookiePath" />
    <rule name="ChangeCookiePath">
    <match serverVariable="RESPONSE_Set_Cookie" pattern="^(.*; path=/)adfs/ls" />
    <conditions />
    <action type="Rewrite" value="{R:1}" />
    </rule>
    </outboundRules>
    </rewrite>