在ASP.NET網站中應用Windows用戶驗證

最近給公司內部某個部門做了個ASP.NET網站,需要用到Windows認證,用戶訪問網站的時候,輸入的是AD裏面的用戶名和密碼進行驗證。原先IIS是這樣設置的:

 

 

 

所以每次用戶訪問,IIS都會彈出一個頁面讓用戶輸入用戶名和密碼:

 

 

 

 

但是用戶不喜歡上面這個頁面,且用戶需要把“記住我的密碼”這個選項給去掉,所以我就打算使用asp.net的Form認證方式,自己寫代碼來驗證

用戶輸入的用戶名和密碼是否正確。在網上搜了一下,微軟有一篇文章介紹了Windows認證的實現方式:

http://msdn.microsoft.com/zh-cn/library/ms180890(VS.90).aspx

 

我照着文章中的步驟創建了相關的類和頁面,在VS2008裏面運行,可以正常進行用戶驗證,

 

 

 

 

但是當我把網站代碼部署到IIS裏面的時候,驗證就通不過了,出現的錯誤頁面如下:

 

查了好久,才發現自己在創建IIS的虛擬目錄的時候漏了這兩個步驟:

  1. 使應用程序的匿名帳戶成爲對 Active Directory 域服務具有權限的帳戶。

  2. 如果啓用了“允許 IIS 控制密碼”複選框,則清除該複選框。默認的 IUSR_<computername> 帳戶對 Active Directory 域服務不具有權限。

所以,IIS的匿名用戶沒有權限到AD裏面去進行驗證;然後我打開虛擬目錄的屬性頁,進行如下設置:

 

 

然後就可以看到部署在IIS裏面的網站能正常的進行windows用戶驗證了:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章