我在Server1和Server2上的ASP.NET 4(4.0.30319)应用程序池中部署的Web表单的背后代码中使用以下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
根据选项的不同,身份验证需要30-60秒.
(注意:使用常规ldap可以立即进行身份验证,没有延迟)
服务器2正在运行:
Windows Server 2008 SP2
IIS 7.0
ASP.NET版本4.0.30319
运行与Server1完全相同的代码,Server2几乎立即进行身份验证.
(我也尝试对具有相同结果的另一台IIS 7.0服务器使用该代码)
有人遇到过这个问题吗?
在IIS 6.0服务器和IIS 7.0服务器上,是否有另一种身份验证方法?
我需要配置,添加,删除等吗?
感谢您对此的任何帮助.
…………………………………………… …………………………………………… ……………………………………………
[更新]
我在发出ldaps身份验证请求时打开了Wireshark.
我创建了一个包含636个以上所有请求的文件.
可以在这里查看:Server1 636 traffic
发现最大的差距是:
1949年1.115583秒-06788年14.501754秒
和
No.6803(14.64297秒)-No.11742(27.921379秒)
该端口上的所有其他流量都在同一秒内发生.
注意:Server2上的通信量大致相同,但都在2-3秒之间发生.
可以在这里查看:Server2 636 traffic
我运行netstat -ano”命令并在登录时发现了ldap的以下连接:
原始本地地址外部地址状态PID
TCP 10.1.72.74:1761 10.1.72.54:636建立3688
TCP 10.1.72.74:1800 10.1.72.54:636建立3688
TCP 10.1.72.74:1825 10.1.72.54:636建立3688
解决方法:
看看我在ServerFault的答案…
该服务可能无法访问:
C:\Documents and Settings\All Users\Application
Data\Microsoft\Crypto\RSA\MachineKeys
您的提及:
Date: 3/25/2013 Time: 10:11:06 AM Source: Schannel “A fatal error
occurred when attempting to access the SSL client credential private
key.
使它有可能.