2012-07-13 105 views
1

我有一個aspx網站,我正在爲公司的Intranet工作。我最近添加了一些安全頁面,要求用戶成爲Active Directory中特定組的成員才能查看。我們正在爲網站使用Windows身份驗證(我在.config中有Windows身份驗證)。 Windows身份驗證在IIS中啓用,並且匿名身份驗證被禁用。我還在項目屬性中啓用了NTLM身份驗證。Windows身份驗證不會自動獲取用戶憑據

據我所知,安全的東西按預期工作。只有具有正確憑據的用戶才能訪問安全頁面(我使用控制器操作中的[Authenticate Roles =「bla」]檢查來保護它們)。

我遇到的問題並不是一個真正的問題,但更多的是一個煩惱。無論何時用戶登錄到站點,都會提示登錄對話框。我不想要這個。我希望網站從Windows登錄中獲取他們的憑據並使用它來確定他們的訪問權限。我的印象是Windows身份驗證自己處理這個問題,但看起來我錯了。

基本上,我該如何擺脫登錄提示並使Windows身份驗證自動處理所有相同的功能?

是否有一些服務器設置可能需要更改?它可能是我的代碼中的東西?

我希望它至少可以與IE,Firefox和Chrome一起工作(如果可能的話)。

***更新7/25/2012

感謝大家的建議,可惜我還沒有得到這正常工作。有些事情我已經注意到,可以幫助提供一些更詳細

  • 我相當肯定的內部網站是我們的「信任」站點列表(我們的網絡管理員說,這是)。

  • 我只使用NTLM身份驗證和NTLM身份驗證。如果我刪除NTLM身份驗證並啓用協商:Kerberos身份驗證,我只是得到一個401 - 未經授權的錯誤。我可以通過禁用內核模式身份驗證來解決此問題,但是我仍然獲得憑據提示(我不想)。

  • 如果我在IE> Internet選項>高級>安全中選中「啓用集成Windows身份驗證*」,它會提示我輸入憑據,但輸入憑證不再有效。它會問我三次,然後帶我到401錯誤頁面。

  • IE9問我只有我的密碼,並拉我的用戶名(好)。 Chrome和Firefox會提示我輸入用戶名和密碼。

+0

我明白,如果它要求在Firefox,Chrome至少一次的用戶憑據,但你是否說IE也提示用戶憑據? – Icarus 2012-07-13 15:16:56

+0

是的,目前所有3個瀏覽器都要求用戶的憑證l – Richard12511 2012-07-13 15:45:37

+0

你應該清理你的問題。大多數背景故事不是必需的。你也有三個單獨的問題,其中2個可以合併成第一個問題。 – 2012-07-13 15:47:57

回答

1

在Internet Explorer/Tools/Options/Advanced中查找。

在「安全」下有一個複選框「啓用集成Windows身份驗證」。

檢查了嗎?

它的默認選中,並可以通過使用GPO管理員進行設置:

http://www.windowsecurity.com/articles/configuring-advanced-ie-settings-using-group-policy.html

+0

是,選中「啓用集成Windows身份驗證*」。 – Richard12511 2012-07-13 15:38:28

+1

此外,站點url必須手動添加到ie中的本地Intranet區域。 – 2012-07-13 15:53:40

+0

@Wiktor Zychla,你的意思是在IE中轉到工具> Internet選項>安全>站點>高級>添加? – Richard12511 2012-07-13 16:07:48

0

有內IE的設置,通過允許這種自動通的情況發生。您的系統管理員可以創建一個組策略並將其推送給所有用戶。

我也成功地將Firefox配置爲在相同的情況下運行,但涉及修改單個用戶的FF配置。

+0

感謝您的回覆。您是否在討論可在工具> Internet選項>安全性中單擊「自定義級別..」按鈕時啓用的設置? – Richard12511 2012-07-13 16:11:13

0

這行應該在你的web.config中的<system.web>元素中。

<authentication mode="Windows" />

0

只是想我會提供更新,以什麼實際解決了這個問題。

我嘗試了所有你們提供給Internet Explorer設置的偉大建議,但最終它竟然是一個服務器設置。

將站點提供程序的順序翻轉爲NTLM,按此順序進行協商解決了此問題。

+0

理查德,你能否在你的回答中增加更多內容? – alcor 2017-05-24 15:21:49

相關問題