在 C# 中使用 ADSI 进行 LDAP 绑定错误代码

     2023-02-16     69

关键词:

【中文标题】在 C# 中使用 ADSI 进行 LDAP 绑定错误代码【英文标题】:LDAP bind error codes using ADSI in C# 【发布时间】:2010-05-05 15:28:41 【问题描述】:

我正在使用 ADSI 提供程序从 C# 客户端绑定到 ADAM 实例。当绑定失败时,我会返回一个表明失败的通用错误条件。如果我查看流量的网络跟踪,我可以看到 ADAM 实例本身将扩展错误信息发送回我的客户端,指示此身份验证失败的原因,但似乎 ADSI 提供程序丢弃了此扩展信息,只是向我提供了事实绑定失败。

例如,在失败的绑定中,会抛出一个带有 ErrorCode 属性的 COMException,该属性将始终包含值 8007052E。如果我查看网络跟踪,LDAP 发回失败的原因有多种,其中可能包括密码过期、帐户禁用、密码无效、用户不存在等错误。

有什么方法可以使用 ADSI 或 COMException 对象来获取此扩展错误信息?如果没有,是否有人使用过的其他 .NET 提供程序能够获取此信息?

【问题讨论】:

【参考方案1】:

由于我没有任何答案,我会用我的解决方法自己回答。

我没有尝试依赖特定的返回代码并为 LDAP 调用返回数据,而是设置了一个服务帐户,如果绑定失败,它可以对帐户进行额外调查。例如,如果 user1 的绑定失败,我与服务帐户绑定,查询 user1 帐户并读取帐户属性以进一步确定绑定失败的原因,然后将该信息返回给最终用户。

【讨论】:

存储 LDAP 连接并在会话中绑定

...问题描述】:我编写了一个应用程序,其中用户通过LDAP进行身份验证和登录。这真的很好用,我只是用他们的凭据做一个ldap_bind(),如果它是真的,那么就对它们进行身份验证——否则,告诉他们把它吊起来。我可以将他们的用... 查看详情

使用EF核心和c#数据绑定进行数据绑定时刷新数据

】使用EF核心和c#数据绑定进行数据绑定时刷新数据【英文标题】:RefreshdatawhendatabindingusingEFcoreandc#databinding【发布时间】:2021-12-0608:38:37【问题描述】:我正在使用VS2019,带有Win表单和实体框架核心5.0的c#应用程序在我的应用程... 查看详情

配置 Spring Security 以在没有匿名和没有绑定 DN 的情况下针对 LDAP 进行身份验证

...ndwithoutbindDN【发布时间】:2016-04-1209:57:21【问题描述】:使用JNDI,我可以成功地对我们的LDAP服务器进行身份验证,该服务器已禁用匿名绑定,仅使用用户的用户名和 查看详情

如何在 C# 中进行数据绑定?

】如何在C#中进行数据绑定?【英文标题】:HowcanIdoDatabindinginc#?【发布时间】:2010-09-1200:49:41【问题描述】:我有以下课程公共级汽车公共名称get;放;我想以编程方式将其绑定到文本框。我该怎么做?在黑暗中拍摄:...汽车car=new... 查看详情

使用asp.net c#查找Ldap中的所有用户

】使用asp.netc#查找Ldap中的所有用户【英文标题】:FindallusersinLdapusingasp.netc#【发布时间】:2012-11-0807:55:43【问题描述】:下面是我的代码。我想检索网格中名字或姓氏相同的所有用户。但这里是在网格中对名称本身进行排序。我... 查看详情

从 C# 针对 ADAM 对 ADAM 用户进行身份验证 - 无法绑定

...置了一个ADAM实例并添加了一些测试用户。在c#中,我可以使用Windows帐户绑定到ADAM,但无法使用ADAM用户之一进行绑定。(我可以在ldp中成功绑定adam用户)并且我已通过将msDS 查看详情

如何使用 C# 在 WinForm 中手动绑定到蓝牙低功耗设备?

】如何使用C#在WinForm中手动绑定到蓝牙低功耗设备?【英文标题】:HowtoBindmanuallytoaBlueToothLowEnergyDeviceinaWinFormusingC#?【发布时间】:2017-01-0123:54:47【问题描述】:这个问题的回答者大多是:WindowsUWPconnecttoBLEdeviceafterdiscovery目前,... 查看详情

使用 ADO 连接到 Sun LDAP

】使用ADO连接到SunLDAP【英文标题】:ConnecttoSunLDAPwithADO【发布时间】:2011-08-2309:13:03【问题描述】:我想通过Delphi程序连接(并获取用户组)到SunLDAP服务器。我认为ADSI仅适用于MicrosoftLDAP。我尝试使用ADO,但无法连接。谁能给我... 查看详情

如何在 C# 中使用 LDAP 以编程方式启用 AD 用户的 Exchange 和 Lync 帐户

】如何在C#中使用LDAP以编程方式启用AD用户的Exchange和Lync帐户【英文标题】:HowtoenableADuser\'sexchangeandLyncaccountsprogrammaticallyusingLDAPinC#【发布时间】:2014-12-2212:39:15【问题描述】:我正在使用以下代码sn-p在域服务器上创建一个新的... 查看详情

努力在 C# 中使用绑定变量

】努力在C#中使用绑定变量【英文标题】:StrugglingtousebindvariableinC#【发布时间】:2021-06-1412:22:14【问题描述】:我正在尝试在C#中使用绑定变量来获取选择查询中的记录。以下代码是我尝试过的,但出现异常:ORA-01006:bindvariabledoe... 查看详情

使用 Active Directory 和 SunOne 进行 LDAP 身份验证

】使用ActiveDirectory和SunOne进行LDAP身份验证【英文标题】:LDAPAuthenticationwithActiveDirectoryandSunOne【发布时间】:2010-07-1915:20:58【问题描述】:在查看此站点和其他站点后,我知道如何使用LDAP验证用户名和密码。但我的问题是我们的... 查看详情

ruby使用net::ldap在ruby中进行一些非常基本的ldap交互。(代码片段)

查看详情

使用 Spring LDAP 在 Java 中进行身份验证

】使用SpringLDAP在Java中进行身份验证【英文标题】:AuthenticationinJavausingSpringLDAP【发布时间】:2015-10-3013:52:03【问题描述】:我正在尝试从SpringLDAP项目连接到AD我没有从DefaultSpringSecurityContextSource中找到任何方法来设置CN进行身份... 查看详情

Spring Security LDAP“必须在连接上完成绑定”

...-11-1012:17:43【问题描述】:我需要创建一个SpringBoot服务并使用LDAP提供一个身份验证服务。我关注了这个example,它使用嵌入式本地ldap服务器对我来说很好(如教程中所建议的那样)现在 查看详情

通过 Active Directory 使用 LDAP 在 PHP 中进行身份验证

】通过ActiveDirectory使用LDAP在PHP中进行身份验证【英文标题】:AuthenticatinginPHPusingLDAPthroughActiveDirectory【发布时间】:2010-09-1508:25:55【问题描述】:我正在寻找一种通过LDAP和PHP对用户进行身份验证的方法(ActiveDirectory是提供者)... 查看详情

c#中对指针操作报错解决方法

...nbsp;“指针和固定大小缓冲区只能在不安全的上下文中使用” 解决方法:在方法前加上unsafe关键字 2.错误2 “不安全代码只会在使用/unsafe编译的情况下出现” 解决方法: 查看详情

springsecurity-在springboot中针对ldap使用activedirectory对用户进行身份验证

配置LDAP身份验证时,我收到LDAP身份验证错误。我的属性文件如下配置:ldap.urls=ldap://***.***.local:8389ldap.base.dn=dc=test,dc=comldap.user.dn.pattern=(&(objectClass=user)(userPrincipalName={0})(memberof=CN=GroupName,OU=***,OU= 查看详情

LDAP查询中的LDAP注入c#

】LDAP查询中的LDAP注入c#【英文标题】:LDAPinjectioninLDAPqueryc#【发布时间】:2017-05-0702:00:26【问题描述】:这是我用于验证用户是否在AD组中的布尔连接。我的代码中有一个安全标志。privatebooltestconnection(stringuser)boolisInGroup=false;if(u... 查看详情