iis
有五種驗證方式:允許匿名訪問、整合驗證、基本驗證、
windows
域伺服器的摘要身份驗證、
.***
passport
身份驗證。在公司裡,我們採用了整合驗證的方式,即,公司裡的員工只要他登陸了域,那麼他訪問我們發布的任何站點,都不需要再輸入使用者名稱和密碼,直接用登陸
windows
的域帳戶和密碼進行驗證。可是,我一直沒有注意到即使是採用的整合驗證方式,在實際的驗證過程中,
iis還有不同的驗證模式:
kerberos 和 ntlm 身份驗證
在整合的 windows 身份驗證用於驗證客戶端請求時,inter*** 資訊服務 (iis) 將傳遞
negotiate
標題。negotiate
安全標題允許客戶端在 kerberos 和 ntlm 之間進行選擇。negotiate 將選擇 kerberos,除非與身份驗證有關的系統之一無法使用它或呼叫應用程式無法提供使用 kerberos 所需的足夠資訊。
我們在公司內部訪問這些站點時感覺不出這樣的驗證方式有什麼問題。當我們通過
isa2000
將這些站點發布到
inter***
上後,然後,在
inter***
上訪問這些站點(登入域),我們發現在
windows2000
下會彈出身份驗證的對話方塊,要求您輸入使用者名稱和密碼,而在
xp下索性告訴你找不到這個網頁。這到底是怎麼回事呢?經過我們多方監測,問題就出在這個
negotiate上,
我們如果不使用
negotiate
標題,而直接選擇
ntlm
驗證模式,即使是在
inter***
上,只要你登入域(在找不到域控制器的時候,是可以通過儲存在本機的緩衝登陸的),照樣不需要使用者名稱和密碼。
因此,我們可以將
iis設定成只允許
ntlm
身份驗證。
1.單擊「開始」,單擊「執行」,鍵入 cmd,然後按 enter 鍵。
2.找到包含 adsutil.vbs 檔案的目錄。預設情況下,該目錄是 c:/i***pub/adminscripts。
3.使用下面的命令檢索「ntauthenticationproviders」的當前值:
cscript adsutil.vbs get w3svc/ntauthenticationproviders
4.禁用 negotiate 以強制 iis 僅傳送 ntlm 標題。要禁用 negotiate(從而阻止 kerberos 身份驗證),請使用下面的命令(注意「ntlm」必須大寫,以避免出現任何不利的影響):
cscript adsutil.vbs set w3svc/ntauthenticationproviders 「ntlm」
IIS下的身份驗證方式管理
設定 檢視身份驗證方式 1 導航到某站點下 23 4 啟用站點test01下的windows身份驗證 5set webconfigurationproperty filter system.webserver security authentication windowsauthentication...
web的使用者驗證方式
最近,看了一些ms的portal源程式,對於其中的使用者驗證覺的很感興趣。特整理注釋如下 web.config的配置 窗體驗證方式 如果未通過則轉向webform1.aspx 拒絕未通過驗證的使用者 允許通過驗證的使用者 global.ascx if request.isauthenticated ...
晶元驗證全視之七 驗證的週期(下)
本文 這一節我們繼續剩下的驗證週期裡的四個階段。遞迴測試 遞迴測試指的是去驗證之前的硬體功能在某個缺陷修復或者新增了某項新功能以後,仍然可以通過以前的所有測試用例 test case 和可能新增的新的測試用例。這些可能存在的環境變化包括硬體設計自身的改進 缺陷修復 功能新增和驗證環境的更新。在每次的...