安全 LDAP 身份驗證問題
我在 Server1 和 Server2 上的 ASP.NET 4 (4.0.30319) 應用程序池中部署的 webform 的程式碼中使用以下 C# 程式碼。
PrincipalContext pc = new PrincipalContext(ContextType.Domain, "testnet.testad.org:636", "dc=testnet,dc=testad,dc=org"); bool validated = pc.ValidateCredentials(username, password, ContextOptions.Negotiate);
Server1 正在執行:windows server 2003 SP2
IIS 6.0
ASP.NET 版本 4.0.30319
Server1 需要 30-60 秒進行身份驗證,具體取決於選項。
(注意:使用正常 ldap 它立即進行身份驗證,沒有延遲)
Server2 正在執行:windows server 2008 SP2
IIS 7.0
ASP.NET 版本 4.0.30319
執行與 Server1 完全相同的程式碼,Server2 幾乎可以立即進行身份驗證。
(我還嘗試了針對另一台 IIS 7.0 伺服器的程式碼,結果相同)
所以我相信程式碼很好,這就是我在 serverfault 上問這個的原因。
有沒有人遇到過這個問題?
有什麼我可以在 Server1 上修補或配置不同的東西來降低身份驗證時間以與 Server2 保持一致嗎?
感謝您對此的任何幫助。
…………………………………………………………………………………………………………………………….
$$ Update $$ 我在發出 ldaps 身份驗證請求時打開了wireshark。
我創建了一個包含所有超過 636 的請求的文件
。可以在這裡查看:Server1 636 traffic
最大的差距出現在:
1949 號在 1.115583 秒 - 06788 號在 14.501754 秒
和
6803 號在 14.64297 秒 - 11742 號在 27.921379 秒
該埠上的所有其他流量都在同一秒內發生。
注意:Server2 上的流量大致相同,但都發生在 2-3 秒之間。
可以看這裡:Server2 636 流量
嘗試執行程序監視器以查看您是否在以下位置被拒絕訪問:
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
如果是這樣,請授予服務帳戶對其的讀取權限。