Citrix Gateway

为微软 Exchange 2010 配置单点登录

以下部分介绍了 Citrix Gateway 上适用于微软 Exchange 2010 的单点登录 (SSO) 的配置。适用于 Outlook Web 访问 (OWA) 2010 的 SSO 在以下情况下不起作用:

  • 在微软 Exchange 2010 上使用基于表单的身份验证。
  • 使用身份验证、授权和审核流量管理策略对虚拟服务器进行负载平衡

注意: 此配置仅适用于使用身份验证、授权和审核流量管理策略对虚拟服务器进行负载平衡。它不适用于 OWA 2010 中使用无客户端 VPN 的 SSO。

以下步骤是在 Citrix Gateway 上为 Microsoft Exchange 2010 配置 SSO 之前必须考虑的先决条件。

  • 在 OWA 2010 中,SSO 的操作 URL 表单有所不同。相应地修改流量管理策略。
  • 您需要重写策略才能在 logon.aspx 请求中设置 PBack cookie。在正常情况下,您可以在客户端设置 PBack cookie,然后单击提交。
  • 使用 SSO 时,对 logon.aspx 的响应将被消耗,Citrix Gateway 会生成表单请求。表单提交请求中未附加 cookie。
  • OWA 服务器需要表单提交请求中的 PBack cookie。需要重写策略才能在表单提交请求中附加 PBack cookie。

使用 CLI 执行以下操作

  1. 配置身份验证、授权和审核流量管理

    add tm formSSOAction OWA_Form_SSO_SSOPro -actionURL "/owa/auth.owa" -userField username -passwdField password -ssoSuccessRule "http.RES.SET_COOKIE.COOKIE(\"cadata\").VALUE(\"cadata\").LENGTH.GT(70" -responsesize 15000 -submitMethod POST

  2. 配置流量管理策略并绑定策略

    • add tm trafficAction OWA_2010_Prof -appTimeout 1 -SSO ON -formSSO Action OWA_Form_SSO_SSOPro

    • add tm trafficPolicy owa2k10_pol "HTTP.REQ.URL.CONTAINS(\"owa/auth/logon.aspx\")" OWA_2010_Prof

    • bind tm global -policyName owa2k10_pol -priority 100

使用 CLI 重写配置

在命令提示符下,键入:

  • add rewrite action set_pback_cookie insert_after "http.REQ.COOKIE.VALUE(\"OutlookSession\")" "\";PBack=0\"" -bypassSafetyCheck YES

  • add rewrite policy set_pback_cookie "http.REQ.URL.CONTAINS(\"logon.aspx\")" set_pback_cookie

  • bind rewrite global set_pback_cookie 100 END -type REQ_DEFAULT

备用重写配置

在极少数情况下,微软 Outlook 可能不会发出 OWA 会话 cookie,并且可能也不会插入 Pback cookie。在运行上述命令来实现重写配置之后,可能会出现此问题。

要克服这些情况并作为解决方法,您可以配置以下命令而不是重写配置。

在命令提示符下,键入:

  • add rewrite action set_pback_cookie insert_http_header "Cookie" '"PBack=0"'

  • add rewrite policy set_pback_cookie "http.REQ.URL.CONTAINS(\"logon.aspx\")" set_pback_cookie

  • set rewrite policy set_pback_cookie -action set_pback_cookie

  • bind rewrite global set_pback_cookie 100 END -type REQ_DEFAULT

为微软 Exchange 2010 配置单点登录