2

我正在開發將在Intranet中使用的應用程序。 我正在使用Active Directory的應用程序使用Windows身份驗證。 但是,當我從ie中的其他機器訪問應用程序時,它不斷提示輸入用戶名和密碼。 我已將web.config中的設置添加到Windows身份驗證,身份模擬中。 而IIS應用程序的設置僅啓用Windows身份驗證。匿名身份驗證被禁用。 我的觀察是,它可以正常工作IIS 6. 但是,當我嘗試在IIS 7.5上託管我的應用程序時,它不斷提示用戶名和密碼。 另外它不適用於Google Crome。Windows身份驗證會不斷提示用戶名密碼,例如

有什麼問題?請幫助...

回答

2

在同一應用程序

你有一個login.aspx的頁面,它允許用戶登錄和使用窗體身份驗證使用ASP.NET窗體身份驗證和IIS Windows身份驗證。但是,您的所有用戶在服務器(或Active Directory)上都有Windows帳戶。出於某種原因,您希望所有用戶都先使用其Windows憑據登錄,然後使用其成員身份憑證和表單身份驗證登錄。您可以通過啓用Windows身份驗證並禁用IIS中的匿名身份驗證來實現這一點,這會導致請求在IIS到達ASP.NET之前被拒絕,從而確保您的用戶首先通過Windows身份驗證進行身份驗證。

這適用於IIS 6.0和經典模式下的IIS 7.0。但是,在集成模式下,Windows和Forms身份驗證在單階段身份驗證過程中運行,這使得無法首先使用Windows身份驗證進行身份驗證,然後使用窗體身份驗證進行身份驗證。此外,由於爲整個應用程序啓用了Forms身份驗證,因此無法爲您的應用程序的一部分而不是另一個應用程序啓用它 - 這會出現問題,因爲表單身份驗證的302重定向挑戰與401「WWW身份驗證「Windows身份驗證使用的挑戰。表單身份驗證將始終將未經授權的請求轉換爲302重定向,從而打破Windows身份驗證。

欲瞭解更多詳情,請參閱this link.

相關問題