Iis-7

安全 LDAP 身份驗證問題

  • April 3, 2013

我在 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

如果是這樣,請授予服務帳戶對其的讀取權限。

引用自:https://serverfault.com/questions/491096