- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最初问题始于 .NET\C# 和 ValidateCredentials方法 - 没有 SSL 它工作,使用 SSL 它返回“服务器无法处理目录请求”。但我缩小了范围并简化为下面发布的 C++ 代码。
MSDN 说 LDAP_OPT_FAST_CONCURRENT_BIND支持多个简单绑定(bind)并且不适用于接下来的 2 个选项:LDAP_OPT_SIGN , LDAP_OPT_ENCRYPT .它还说使用不带 SSL 的简单绑定(bind)是 not good因为当通过网络发送时,您将以明文形式公开您的凭据。
因此,看起来当您在没有签名和加密的情况下通过 SSL 使用 LDAP 时,您可以启用 FCB。但每次我这样做时,我都会收到 0x35(不愿执行)。 Article关于密码身份验证也没有提及 SSL。所以,问题是——我做错了什么?或者,Microsoft 是否应该在其文档中说明 LDAP_OPT_FAST_CONCURRENT_BIND 不支持 SSL?
#include "stdafx.h"
#include <windows.h>
#include <winldap.h>
int main()
{
PCHAR username = "bla-bla-bla";
PCHAR password = "bla-bla-bla";
PCHAR hostName = "bla-bla-bla";
ULONG lRtn = 0;
LDAP* pLdapConnection = NULL;
pLdapConnection = ldap_init(hostName, LDAP_PORT);
// NOTE: those 2 below - will return 0x35 (Unwilling to perform) during setting LDAP_OPT_FAST_CONCURRENT_BIND option
//pLdapConnection = ldap_init(hostName, LDAP_SSL_PORT);
//pLdapConnection = ldap_sslinit(hostName, LDAP_SSL_PORT, 1);
if (pLdapConnection == NULL)
{
printf("ldap_init failed with 0x%x.\n", LdapGetLastError());
ldap_unbind(pLdapConnection);
return -1;
}
else
printf("ldap_init succeeded \n");
lRtn = ldap_connect(pLdapConnection, NULL);
if (lRtn == LDAP_SUCCESS)
printf("ldap_connect succeeded \n");
else
{
printf("ldap_connect failed with 0x%lx.\n", lRtn);
ldap_unbind(pLdapConnection);
return -1;
}
// Enable concurrent binding - returns 0x35 when used with SSL.
lRtn = ldap_set_option(pLdapConnection, LDAP_OPT_FAST_CONCURRENT_BIND, LDAP_OPT_ON);
if (lRtn == LDAP_SUCCESS)
printf("Fast concurrent binding enabled\n");
else
{
printf("SetOption Error:%0lX\n", lRtn);
ldap_unbind(pLdapConnection);
return -1;
}
lRtn = ldap_simple_bind_s(pLdapConnection, username, password);
if (lRtn == LDAP_SUCCESS)
{
printf("ldap_simple_bind_s succeeded \n");
password = NULL; // Remove password pointer
}
else
{
printf("ldap_bind_s failed with 0x%lx.\n", lRtn);
ldap_unbind(pLdapConnection);
return -1;
}
ldap_unbind(pLdapConnection);
return 0;
}
最佳答案
在这里查看我的回复:https://stackoverflow.com/a/49310208/1950304 .
Or, may be Microsoft should state in their documentation that SSL is not supported with LDAP_OPT_FAST_CONCURRENT_BIND?
这不是一般的 SSL,它是相互 SSL。
关于c# - LDAP over SSL 在设置快速并发绑定(bind)时返回 'unwilling to perform' 错误 (PrincipalContext.ValidateCredentials),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44200011/
想在 Centos 上使用带 SSL 的 ldap_mod_add 命令,但得到以下错误信息; PHP Warning: ldap_mod_add (): Modify: Server is unwi
我刚刚开始使用 LDAP 和 Windows Server 2012。我已经设法让我的 PHP 代码使用管理员帐户绑定(bind)到 Active Directory,但我似乎可以使用 ldap_ad
我们已经为可以请求多个 LDAP 目录的 SharePoint 网络应用程序编写了一个身份验证提供程序。 必须通过 SSL 请求其中一个 LDAP 服务器。因此,我们将用于签署 LDAP 服务器证书的
tags before and after
我是 CKEditor 的新手。我正在尝试构建一个插件,插入一个新的 div 元素,其中包含一些自定义内容。用户只能在编辑器中看到一个假元素,它代表通过 createFakeElement() 函数创
出现错误: Server is unwilling to perform 同时通过 PHP 在 AD 中更改 unicodePwd。但是,我能够搜索、添加、删除和修改用户的任何属性。 使用Admini
最初问题始于 .NET\C# 和 ValidateCredentials方法 - 没有 SSL 它工作,使用 SSL 它返回“服务器无法处理目录请求”。但我缩小了范围并简化为下面发布的 C++ 代码。
所以我正在用 Go 编写一个程序,由于 CGo,我使用 C 绑定(bind),并且我正在使用 ldap 来执行搜索、添加和修改操作。我可以设法做到所有这些,但现在我试图在 unicodePwd mod
我是一名优秀的程序员,十分优秀!