使用摘要在LDAP中进行身份验证?

时间:2011-08-17 14:01:35

标签: .net asp.net authentication ldap digest

我的网络应用程序正在使用摘要式身份验证。服务器端没有用户密码。现在我需要在LDAP中验证用户身份。

有可能吗? .Net / C#中的任何例子?

我可以修改我的Digest实现算法,但由于要求,我无法将其更改为Basic或任何其他身份验证。

编辑:据我所知,可以将System.DirectoryServices.Protocols.LdapConnection.AuthType属性设置为AuthType.Digest。我该如何使用此设置?

2 个答案:

答案 0 :(得分:0)

简答:不。

必需以编程方式为LDAP身份验证例程提供纯文本密码,这是您无法从摘要中获取的 - 这就是摘要的一点。

我能想到的唯一解决方法是使用高级帐户连接到LDAP,并检查用户是否可以执行他们尝试执行的操作。

如果您尝试使用LDAP验证用户的登录信息,那么您的确有点填充。这就是为什么大多数针对AD进行身份验证的Web服务都是基于HTTPS的基本身份验证,或者使用NTLM身份验证...

答案 1 :(得分:0)

如果您的建筑物有新的东西可能是可能的。

您可以在创建用户时将HA1添加为LDAP中的属性。 H1p摘要的HA1 = MD5(用户名:领域:密码)。

然后当用户访问Web服务器并提供Authorization标头时。您可以使用LDAP中的HA1重建授权并比较结果......但您需要使用系统管理员凭证来访问用户HA1值,这不是最佳方式。