问题标签 [ldapconnection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1953 浏览

c# - LdapConnection 超时与 SearchRequest 超时

哪个优先?

假设您创建了一个新的 LdapConnection 并将其 Timeout 属性设置为 30 秒。

稍后当您提交 SearchRequest 时,您还可以再次指定 30 秒的超时时间,如下所示:

连接显然比请求的寿命长,所以我希望第二个超时与请求相关联,第一个超时与连接相关联。想了想也没有什么意义,所以请教各位高手。由于连接是用超时创建的,它的超时优先吗?

0 投票
2 回答
3894 浏览

python - 通过 SSL 的 python 和 ldap

我尝试使用运行良好的 python 查询 Active Directory 服务器。但现在我不想通过网络发送未加密的凭据,所以我想使用 LDAP。是否有捷径可寻?到目前为止,我发现我必须添加这个选项:

但我实际上不想获得 CA 证书或正确的证书并验证它。当然,从安全角度来看,我应该验证我的通信伙伴是正确的,但我不在乎我的内部网络,只是希望这更容易处理。如果我只是将 LDAP URL 从 ldap 更改为 ldaps 我会收到此错误:

0 投票
1 回答
471 浏览

openldap - 使用 UnboundID 和证书进行 SASL 外部身份验证

我想使用我的 OPENLDAP ldap 执行基于证书的身份验证。

我创建了一个 PKI,使用良好的密钥库、信任库/证书、密钥设置我的客户端和服务器。我还将 LDAP 配置为在 SSL 握手期间要求证书。

然后我尝试使用 UnboudID LDAP 进行身份验证,如下所示:

我要将连接绑定到的用户的 DN 对应于: cn=12345,ou=anOrganizationUnit,o=anOrganization,dc=com,dc=example. 由于来自证书的 DN 看起来像:cn=12345,ou=...,o=...,l=Berlin,st=some-state,c=de我还在 LDAP 中创建了一个匹配规则。

只要我有 CA 签署的证书,bindRequest 总是会成功。如果来自 LDAP 的 DN 与 LDAP 中的任何内容不对应,则无关紧要。我猜它被转换为匿名连接。但是当它对应于现有用户时,也没有关系。用户未通过身份验证,我无权访问用户的权限。我尝试执行 WhoAmI 请求,它返回: authzId=dn:cn=12345,ou=anorganizationunit,o=anorganization,dc=com,dc=example这似乎很好(大写字母转换为小写字母)。

我在 LDAP 配置中遗漏了什么吗?还是我的证书?

我会非常感谢任何帮助:)

编辑: 我不知道这是否有帮助,但在添加匹配规则之前,我执行了 WhoAmI 请求,结果类似于: dn:cn\3D12345\2C...,o=organization,dc=com,dc=example. 我在证书创建期间输入的通用名称似乎已被转义(\3D 是“=”,\2C 是“,”)。

0 投票
1 回答
2597 浏览

c# - ActiveDirectory :重置密码以尊重密码历史记录

好吧,我正在使用 DirectoryEntry 和 LdapConnection 在我们强制执行密码最低年龄和历史策略的情况下重置密码。当有人忘记密码时,您希望他们能够将密码重置为不违反密码历史记录的内容。作为替代解决方案,可以使用“SetPassword”并将密码重置为生成的值,然后强制用户在下次登录时更改密码。这在我们的场景中是不可能的。因此,我在 technet 上关注这篇博文,并尝试使用 LDap 扩展控件来通过尊重密码历史记录来重置密码。简而言之,它只是一次又一次地更改为相同的密码而没有抱怨。我的代码如下:

对密码更改器的调用如下所示,

编辑:

这与此处解释的场景有关

https://support.microsoft.com/en-us/kb/2386717/

RE 我对“作为替代解决方案的评论”,可以使用“SetPassword”并将密码重置为生成的值,然后强制用户在下次登录时更改它。

我们不能在我们的场景中这样做,因为我们启用了密码历史记录和最小年龄限制(24 小时)。因此,我不能在用户上下文中使用 ChangePassword,在管理员上下文中使用 SetPassword(因为这不尊重密码历史记录)。

0 投票
1 回答
1379 浏览

c - openLDAP c 客户端协议错误(ldap_simple_bind_s:协议错误)

我正在尝试使用 c 程序连接到 openLDAP 服务器,我找到了 openLDAP 客户端库并实现了以下程序。我尝试连接到这个ldap 服务器以及我的本地 ldap 服务器。我使用此命令编译程序没有错误

我尝试使用这个命令运行程序

然后它说

ldap_simple_bind_s:协议错误

我用谷歌搜索并找到了一些这样的答案,他们说这个错误来自协议版本未匹配 ei: LDAPv2 and LDAPv3,但我无法解决这个问题

0 投票
1 回答
813 浏览

c# - C# 连接到 Oracle 身份管理 LDAP 服务器

我们正在与另一家拥有 Oracle 身份管理服务器设置的公司合作。我们将连接到此并根据从服务器重试的 LDAP 数据对用户进行身份验证。

我们试图通过使用传递服务器名称和端口的 LdapConnection 对象以及它们提供给我们的网络凭据来插入此功能,因此我们使用的是 Basic 的 AuthType。但是在 Bind() 上我们总是失败,因为它说我们有无效的凭据。我们与客户合作以确保它们是正确的,并且我们已经能够使用凭据登录到 Oracle 身份管理,尽管我们必须使用来自 SearchRequests 专有名称的数据的用户名。但即使使用它,我们也会继续收到相同的错误。客户端还使用凭据通过 Java 进行连接。

这是一个问题,因为我认为真的没有解决方案,但是那里有人知道如何去做吗?我们正在运行相同的代码,这些代码正在运行并从 Active Directory 中提取。因此,只要 Oracle 支持以这种方式连接,我们的代码就应该没问题。但是找到任何关于这个话题的东西就像拔牙一样。

有人有这方面的经验吗?请让我知道,如果需要,我很乐意提供任何其他详细信息。

提前致谢!

0 投票
2 回答
1862 浏览

php - php 中的 ldap_connect() 函数接受任何值并且不会抛出错误

我正在编写一个 php 代码来连接到我的 LDAP 服务器。

$adServer我从配置文件中获取的值。

当我传递空白值或任何其他随机值(如“Hello”)时,看起来ldap_connect()不会引发错误。

我尝试提供以下代码来检查是否生成了任何错误消息。

echo ldap_error($ldap)

它总是说“成功”。

因此,我无法验证与 LDAP 服务器的连接是否已建立并抛出适当的错误消息。

在什么情况下会触发“死”ldap_connect()功能。如果配置文件中提供的服务器名称不起作用,我想向最终用户抛出适当的错误消息。

注意:我正在为 PHP 使用 5.6 版

0 投票
2 回答
352 浏览

c# - ldap-bind 上的凭据无效,密码为 ü

我正在使用类 LdapConnection 绑定到 ldap 服务器。如果是“普通”密码,它可以正常工作。但如果用户的密码包括 ü、ä 或 ö,服务器将返回错误 INVALID CREDENTIALS。我假设存在编码问题,但找不到任何设置 .NET 类。因此,我查看了网络流量,发现字母“ü”以十六进制表示为“fc”。使用 ldap 浏览器,“ü”由“c3bc”呈现。

有什么想法吗?

0 投票
1 回答
1132 浏览

ssl - LdapConnection 端口 636 不使用 SSL 连接

我已经在我的虚拟机中设置了一个 Active Directory 服务器,并根据以下链接启用了 LDAP over SSL:https: //support.microsoft.com/en-us/kb/321051

我使用 ldp.exe 来测试我的设置,并能够连接到端口 636 并选中“SSL”复选框。然后我取消选中“SSL”复选框并再次尝试连接到端口 636。我预计连接会失败,因为端口 636 是为 LDAP over SSL 保留的。然而,令我惊讶的是,连接仍然通过。我很困惑。我可以使用端口 636 但没有 SSL 连接到 Active Directory 是否正常?

我还使用上面的代码在我的应用程序中测试了 ldap 连接,并且当 IsSSL 变量为 false 时它能够连接。

0 投票
1 回答
898 浏览

c# - 无法在 IIS 7 上使用 LdapConnection C# 进行身份验证

我正在尝试使用活动目录和 C# 进行身份验证。该代码在 Visual Studio 15 下的 IIS Express 上运行,但是当我将项目部署到 IIS 服务器时,LDAP 连接返回以下错误:

“提供的凭据无效”

这是我正在使用的代码:

当我使用 Visual Studio 进行调试时,一切正常,我可以验证用户是否存在于 AD 服务器上,但使用 IIS 服务器会发生错误。

更新

我通过禁用 IIS 服务器上的域控制器解决了这个问题。