Windows
身份驗證與 IIS 以及 Windows 在工做上緊密結合。實際上,ASP.NET只是接收 IIS 傳遞給它的內容,並將這些內容映射到.NET主體和身份對象上。全部憑證交換和身份驗證的事務都在 IIS 端使用Integrated Windows authentication(或者Basic authentication)來處理,而不能使用匿名訪問。這對於企業內部互聯網和外部網最適合,在這種狀況下,用戶是您組織中的一員,而且已經具備公司域中的 Windows 帳號。
若是使用Integrated Windows authentication,這是最安全的方法,由於每項操做都在 Windows 域中處理。此外,直接使用文件訪問權限也能夠設置訪問頁,這在有關頁的安全設計中形成的影響最小。用戶的經驗也將獲得提升,由於用戶甚至不須要登錄該應用程序——每當用戶打開瀏覽器定位到一個頁時,安全令牌將自動被傳遞給 ASP.NET。
在「在登錄AD的機器上測試模擬通過驗證的用戶」這篇文章中介紹了一種模擬經過驗證的帳戶的方法。Web.config文件具備默認的 Windows 身份驗證模式,所以當打開Integrated Windows authentication時,用戶能夠自動被驗證——ASP.NET在後臺接收該令牌。當咱們打開 Anonymous access 時,ASP.NET再也不接收 Windows 用戶的安全令牌,所以用戶是未驗證的。
若是在ASP.NET中選擇 Integrated Windows authentication 身份驗證模式,並將 IIS 設置成除 Anonymous access 以外的任何方法,那麼您就不會看到Windows的登錄窗體,除非在另外一臺機器上經過Internet來試圖訪問該應用程序。若是是局域網中的計算機,此時憑據將被自動傳遞(由於已經登錄到域中),不輸入一個字母就已被驗證,從而能夠訪問該應用程序。另外一方面,經過Internet試圖訪問該應用程序則將打開一個Windows登錄窗口,要求輸入用戶名和密碼。