共用方式為


為不支援 Windows 整合式驗證的裝置設定內部網路表單型驗證 (WIA)

根據預設,Windows Server 中的 Active Directory 同盟服務 (AD FS) 中會啟用 Windows 整合式驗證 (WIA),以取得組織內部網路 (intranet) 內發生之驗證要求,以供任何使用瀏覽器進行驗證的應用程式使用。 例如,應用程式可以是基於瀏覽器的,使用 WS-Federation 或 SAML 協定,或者是功能豐富的應用程式,使用 OAuth 協定。 WIA 可讓用戶順暢地登入應用程式,而不需要手動輸入其認證。 不過,某些裝置和瀏覽器無法支援 WIA,因此來自這些裝置的驗證要求會失敗。 此外,某些與 NTLM 交涉的瀏覽器體驗並不理想。 建議的方法是退回到這類裝置和瀏覽器的基於表單的驗證。

Windows Server 2016 和 Windows Server 2012 R2 中的 AD FS 可讓系統管理員設定支援表單型驗證後援的使用者代理程式清單。 備援功能可以透過兩個組態實現:

  • Set-ADFSProperties commandlet 的 WIASupportedUserAgentStrings 屬性
  • Set-AdfsGlobalAuthenticationPolicy commandlet 的 WindowsIntegratedFallbackEnabled 屬性

WIASupportedUserAgentStrings 會定義支援 WIA 的使用者代理程式。 AD FS 會在瀏覽器或瀏覽器控制項中執行登入時,分析使用者代理程式字串。 如果使用者代理程式字串的元件不符合 在 WIASupportedUserAgentStrings 屬性中設定之使用者代理程式字串的任何元件,AD FS 會回復為提供表單型驗證,前提是 WindowsIntegratedFallbackEnabled 旗標設定為 True。

根據預設,新安裝的 AD FS 會建立一組使用者代理字串的符合項。 不過,這些可能根據瀏覽器和裝置的變更而過期。 特別是,Windows 裝置的使用者代理程式字串很相似,但在其中的一些元素存在些許差異。 下列 Windows PowerShell 範例提供目前市場上支援無縫 WIA 之裝置集的最佳指引:

Set-AdfsProperties -WIASupportedUserAgents @("MSIE 6.0", "MSIE 7.0; Windows NT", "MSIE 8.0", "MSIE 9.0", "MSIE 10.0; Windows NT 6", "Windows NT 6.3; Trident/7.0", "Windows NT 6.3; Win64; x64; Trident/7.0", "Windows NT 6.3; WOW64; Trident/7.0", "Windows NT 6.2; Trident/7.0", "Windows NT 6.2; Win64; x64; Trident/7.0", "Windows NT 6.2; WOW64; Trident/7.0", "Windows NT 6.1; Trident/7.0", "Windows NT 6.1; Win64; x64; Trident/7.0", "Windows NT 6.1; WOW64; Trident/7.0", "MSIPC", "Windows Rights Management Client")

上述命令可確保AD FS只涵蓋下列 WIA 使用案例:

使用者代理程式 使用案例
MSIE 6.0 IE 6.0
MSIE 7.0;Windows NT IE 7、內部網路區域中的 IE。 「Windows NT」片段是由桌面作業系統傳送的。
MSIE 8.0 IE 8.0(由於沒有任何設備傳送此內容,因此需要更加具體)
MSIE 9.0 IE 9.0 (沒有裝置會發送這個,因此不需要更詳細說明)
MSIE 10.0;Windows NT 6 Windows 7 及更新版本的桌面作業系統用的 IE 10.0

,Windows Phone 8.0 裝置(偏好設定為行動)則被排除,因為它們會傳送

使用者代理字串:Mozilla/5.0(compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)
Windows NT 6.3; Trident/7.0

Windows NT 6.3; Win64; x64; Trident/7.0

Windows NT 6.3; WOW64; Trident/7.0
Windows 8.1 桌面作系統,不同平臺
Windows NT 6.2; Trident/7.0

Windows NT 6.2; Win64; x64; Trident/7.0

Windows NT 6.2; WOW64; Trident/7.0
Windows 8 桌面作系統,不同平臺
Windows NT 6.1; Trident/7.0

Windows NT 6.1; Win64; x64; Trident/7.0

Windows NT 6.1; WOW64; Trident/7.0
Windows 7 桌面作系統,不同平臺
MSIPC Microsoft 信息保護與控制客戶端
Windows Rights Management 用戶端 Windows Rights Management 用戶端

要為未在 WIASupportedUserAgents 字串中提及的使用者代理程式啟用降級為基於表單的驗證,請將 WindowsIntegratedFallbackEnabled 標誌設為 true。

Set-AdfsGlobalAuthenticationPolicy -WindowsIntegratedFallbackEnabled $true

也請確定已針對內部網路啟用表單型驗證。

為 Chrome 設定 WIA

您可以將 Chrome 或其他使用者代理程式新增至支援 WIA 的 AD FS 組態。 這可讓您順暢地登入應用程式,而不需要在存取受AD FS保護的資源時手動輸入認證。 請遵循下列步驟在 Chrome 上啟用 WIA:

在 AD FS 設定中,在 Windows 平臺上新增 Chrome 的使用者代理程式字串:

Set-AdfsProperties -WIASupportedUserAgents (Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Mozilla/5.0 (Windows NT)"

同樣地,針對 Apple macOS 上的 Chrome,將下列使用者代理程式字串新增至 AD FS 組態:

Set-AdfsProperties -WIASupportedUserAgents (Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Mozilla/5.0 (Macintosh; Intel Mac OS X)"

確認 Chrome 的使用者代理程式字串現在已在 AD FS 屬性中設定:

Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents

設定驗證

備註

隨著新的瀏覽器和裝置發行,建議您協調這些使用者代理程式的功能,並據以更新 AD FS 設定,以在使用上述瀏覽器和裝置時優化使用者的驗證體驗。 更具體來說,建議您在將新的裝置或瀏覽器類型新增至 WIA 的支援矩陣時,重新評估 AD FS 中的 WIASupportedUserAgents 設定。