我有一個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會提示我輸入用戶名和密碼。
我明白,如果它要求在Firefox,Chrome至少一次的用戶憑據,但你是否說IE也提示用戶憑據? – Icarus 2012-07-13 15:16:56
是的,目前所有3個瀏覽器都要求用戶的憑證l – Richard12511 2012-07-13 15:45:37
你應該清理你的問題。大多數背景故事不是必需的。你也有三個單獨的問題,其中2個可以合併成第一個問題。 – 2012-07-13 15:47:57