簡體   English   中英

Windows身份驗證 - Chrome與Internet Explorer

[英]Windows Authentication - Chrome vs Internet Explorer

我有一個部署到IIS 6.1的應用程序。 當我在Chrome中輸入我的ASP應用程序時,會出現彈出窗口,我輸入用戶名和密碼以成功登錄我的應用程序。 但是當我通過Internet Explorer登錄時,我無法通過身份驗證。 什么可能導致這種行為?

由於Xhalent鏈接的文章現在顯示404,我通過Archive.org挖掘並從2009年發現了一個版本

我不知道這個Archive.org版本保持穩定多久,所以我在這里引用這篇文章:


在Firefox和Internet Explorer中啟用NTLM身份驗證

此提示對於標准化Microsoft技術(Active Directory,IIS和ASP.NET)並需要為其內部Web應用程序提供最小入侵身份驗證的組織非常有用。 我在這個問題上被困了很長時間。 這是場景:

我所有的ASP.NET應用程序 - 此時 - 都是我工作的組織的內部應用程序。 我們是一家嚴格的微軟商店,因此,我總是盡可能地利用Active Directory。 嗯,從我(開發人員)的角度來看,這很好,因為這意味着我不必構建和維護登錄系統。 但是,我最近開始收到全國各地用戶的反饋,說他們在訪問應用程序時遇到了登錄屏幕的挑戰。 這沒關系,因為他們仍然可以使用他們的Active Directory帳戶,但有時他們必須將域名附加到他們的名字的開頭,這一切都變得有點痛苦。

我們是一個多元化的組織,因為我們有許多不同的網絡配置。 我們的一些用戶使用高質量的T1連接,而其他用戶仍然處於斷斷續續的連接狀態。 由於這種差異,我最初歸咎於不同網絡配置(防火牆,到域控制器的距離等)的登錄問題,但經過一些研究后我發現問題實際上與瀏覽器有關。

順便說一句,Internet Explorer設置也可以通過組策略實現(感謝Chris,James和Marilyn幫助我解決這個問題)。 在注冊表中查看:

HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Windows \\ CurrentVersion \\ Internet Settings \\ ZoneMap \\ Domains

因此,以下是在Internet Explorer(6和7)和Firefox(2)中啟用NTLM傳遞身份驗證所需的步驟:

IE瀏覽器

注意:這些說明適用於IE 6和IE 7,但下面的屏幕截圖可能略有不同。

注意2:由於某種原因,添加到本地Intranet區域的某些條目似乎是持久的。 您將在界面中刪除它們,關閉所有窗口,返回它們將重新出現。 我發現永久擺脫它們的唯一方法是手動刪除位於本節上方引用位置的注冊表項。

  1. 在Internet Explorer中,單擊“ 工具”,然后選擇“ Internet選項”

  2. 接下來,單擊“ Internet選項”窗口頂部的“ 安全”選項卡。

  3. 顯示“ 安全”選項卡的內容后,突出顯示“ 本地Intranet” ,然后單擊“ 站點”按鈕

  4. 在彈出的“ 本地Intranet”對話框中,確保選中最后三個框,然后單擊“ 高級”按鈕。

  5. 在下一個對話框中,在“ 將此網站添加到區域”文本框中鍵入以下內容:“ http://www.example.org ”(不帶引號),然后單擊“ 添加”按鈕。

注意:如果您要為域中的所有站點啟用Active Directory傳遞身份驗證,請在“ 將此網站添加到區域”文本框中鍵入以下內容:“http://*.example.org”(不帶報價)。

火狐瀏覽器

注意:這些說明已在Firefox 2.0.0.1上測試過。

  1. 在Firefox瀏覽器窗口的地址欄中,鍵入以下內容:“about:config”(不帶引號),然后按Enter鍵。

  2. 在顯示的配置頁面中,向下滾動到以下條目:“network.automatic-ntlm-auth.trusted-uris”並雙擊它。

  3. 在彈出的輸入字符串值中 ,在文本框中鍵入“ http://www.example.org ”(不帶引號),然后單擊“ 確定”

注意:如果您要為域中的所有站點啟用Active Directory傳遞身份驗證,請在文本框中鍵入以下內容:“。example_name_”(不帶引號)。

我並不完全確定您所追求的行為(您在評論中說明您已啟用匿名訪問,但您似乎對Chrome向用戶提供質詢響應對話框表示滿意)。

問題很可能是IE 正在將您的桌面憑據傳遞給該網站,但它們被拒絕,而Firefox / Chrome則沒有這樣做,因此挑戰響應對話框。

選項是:

  1. 將站點移出“本地Intranet”區域(例如)“可信站點”區域:
    1. (對於IE8及以下版本)工具| Internet選項(IE9)單擊Cog圖標| 互聯網選項
    2. 切換到“安全”選項卡。
    3. 單擊“可信站點”,然后按“站點”按鈕。
    4. 將域添加到列表中 - 您可能需要清除“對該區域中的所有站點要求服務器驗證(https :)”並單擊“確定”。
    5. 返回Security選項卡,單擊“Custom level ...”按鈕,滾動到Settings列表的末尾,並確保User Authentication | 登錄設置為“僅在Intranet區域中自動登錄”。
  2. 更改所有Intranet站點以提示憑據(但我建議不要這樣做,因為它會讓您感到痛苦):
    1. 按照上面的步驟1.1和1.2打開“Internet選項”對話框。
    2. 切換到“安全”選項卡,然后選擇“本地Intranet”。
    3. 單擊“自定義級別...”按鈕,滾動到“設置”列表的末尾,並確保“用戶身份驗證”| 登錄設置為“提示輸入用戶名和密碼”。

您可能需要確保在IE中的本地Intranet區域中部署的站點。 以下文章討論了如何為IE和Firefox配置NTLM。

是否啟用了匿名訪問(您似乎沒有),是否已啟用集成安全性,以及您為集成安全性選擇了哪種類型的身份驗證。 是否在IE中啟用了集成安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM