c# - 安全 LDAP 身份验证问题

标签 c# authentication iis-7 ldap iis-6

我在服务器 1 和服务器 2 上的 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);

服务器 1 正在运行: 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

运行与服务器 1 完全相同的代码,服务器 2 几乎立即进行身份验证。
(我还针对另一台 IIS 7.0 服务器尝试了代码,结果相同)

有没有人遇到过这个问题?
在 IIS 6.0 服务器和 IIS 7.0 服务器上是否有替代方法进行身份验证?
有什么我需要配置、添加、删除等吗?

感谢您对此的任何帮助。

................................................ ..................................................... ...........................................................

[更新]

我在发出 ldaps 身份验证请求时打开了 wireshark。
我已经创建了一个包含超过 636 的所有请求的文件。
可以在这里查看:Server1 636 traffic

最大的差距存在于:

没有。 1949 年 1.115583 秒 - 第 06788 号 14.501754 秒

14.64297 秒时第 6803 号 - 27.921379 秒时第 11742 号

该端口上的所有其他流量在同一秒内发生。

注意:Server2 上的流量大致相同,但都发生在 2-3 秒之间。
可以在这里查看:Server2 636 traffic

我运行 netstat -ano” 命令,在登录时发现以下 ldaps 连接:

Proto Local Address Foreign Address State 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.

让它成为可能。

关于c# - 安全 LDAP 身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15616221/

相关文章:

c# - 将字符串数组转换为列表的通用方法

c# - Automapper:映射由基类对象组成的集合

asp.net-mvc - 在 ServiceStack 服务上进行身份验证后访问客户端上的 AuthSession

javascript - 如何获取当前页面中 Referer 页面的值(该页面中的隐藏字段)?

c# - 使用 LINQ 的 SQL 表行总和?

c# - 在 Windows 8 Metro 应用程序中管理自动旋转

authentication - Bios加载过程

authentication - 提交 "Test notes"或“说明 WP8 应用程序提交 - 我在哪里可以找到它们?

c# - 使 Wcf 服务集成 WindowsAuthentication

sql-server - 重新启动我的 Sharepoint Server 2010 时出现了一大波未知错误?