有使用者反映 Chrome/Edge 無法自動登入使用 Windows 整合驗證 IIS 網站,會彈出登入對話框,敲完 AD 帳號密碼才能登入,有一部分使用者則可以用登入 Windows 的 AD 帳號自動登入,不需要敲密碼。

原以為跟上回一樣是 AD 傳輸被擋造成,但本次案例 URL 是用 IP,研判與客戶端及網站主機所屬網域無關。

在 IE 時代,自動登入與否由安全性設定決定,至於 Chrome/Edge,在 Windows 也支援 AD 帳號自動登入,但該怎麼設定倒沒研究過。

查了資料得到答案 - 一樣可由 IE 的網際網路設定控制。

比對可自動登入及無法自動登入的電腦設定找到問題關鍵 - 真的差別就在有沒有把該 IP 設成「信任的網站」!

所以,Chrome/Edge 的自動登入也是用「網際網路選項」控制。由於 IE 已被停用,要改由控制台進去:

將要自動登入的主機 IP 或 URL 加入「信任的網站」清單:(提醒:Windows 對清單上的主機開放較多權限,請確認該主機是安全的再加入)

記得要對信任的網站有啟用「使用目的使用者名稱密碼來自動登入」:

實測在設定後,Chrome/Edge 就能自動登入 Windows 整合驗證網站囉。

除此之外,也可透過改 Registry、套用群組原則或指定 --auth-server-whitelist 啟動參數設定等做法啟用自動登入(參考),但「信任的網站」設定一體適用 Chrome/Edge/IE,會是較方便的做法。

Tips of how to enable Chrome or Edge to login Windows integrated authentication IIS automatically.


Comments

# by Quintos

Edge 相比 Chrome 有一个魔改,把 内置的 填充密码 给换成巨硬自家的了,导致登录一些 基于 windows 身份认证的http协议的网站时,每次都要弹框,重新输入用户名密码, 而chrome的话会保存你上次填写的用户密码。 目前可以通过下载 Edge Policy 文件,导入到本机的 groupPolicy 中,通过 禁用 windows hello 和 开启 basic http auth 两个选项, 就可以享受原汁原味的密码自动填充的效果。https://learn.microsoft.com/en-us/deployedge/configure-microsoft-edge

# by

請問您知道要怎麼實作 .net core 的 windows 整合式驗證的登出功能嗎? 我不知道瀏覽器是從哪邊記住驗證資訊,導致做不到按下登出之後換其他帳號登入

# by Jeffrey

to 貴,依我的認知,Windows 整合驗證是做在 IIS 的 Hosting 層,不受 ASP.NET 程式控制,過去 IE 有 API 可解 https://stackoverflow.com/a/5731523/288936 ,但不適用 Chrome/Edge。

Post a comment