【发布时间】:2017-08-05 10:19:49
【问题描述】:
开发环境: 视窗 一些商业上可用的 LDAP-Client-Lib MinGW-gcc C - 不是 C++ 或 C#
我发现了以下 LDAP-Client-Libraries 和 Samples:
Microsoft LDAP 库
https://msdn.microsoft.com/en-us/library/aa367033(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/aa366102(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/aa367016(v=vs.85).aspx
它需要基于 C(所以我认为没有 ADSI) 我需要获取当前域用户的所有属性的列表(用于过滤) 我不知道从哪里开始——我是一位经验丰富的 C/C++ 用户,但从未使用过 AD/LDAP 的东西
谢谢
更新 #1
我能够使用 WINAPI 获取用户和域名,查找/查找域 AD/LDAP 服务器,并且可以使用 ldap_search_s 连接和检索有关用户的一些信息
我仍然没有完全理解 ldap_search_s 基础、过滤器和属性值应该是什么,以从我的 testuser 检索所有(一级)属性(如名字、姓氏、全名等)
我当前的测试使用示例中的这个基础、过滤器和属性值来获得一些(我的第一个)结果
base = "OU=Domain User,OU=TESTDOMAIN,DC=testdomain,DC=local"
filter = "(&(objectClass=user)(sAMAccountName=testuser))"
attrs = "memberOf"
这给了我(我认为)testuser 所属的组
我目前只获得了用户的登录名 (testuser) - 它认为这是 sAMAccountName-attribute 值 - 所以使用
CN=testuser,OU=域用户,OU=TESTDOMAIN,DC=testdomain,DC=local
不会(或不会?)工作,因为 CN 名称是“测试用户”
更新 #2
第一个例子已经解决了我的问题——愚蠢的我
所以唯一的问题是找到用户属性的正确方法是什么?
base = "OU=Domain User,OU=TESTDOMAIN,DC=testdomain,DC=local"
filter = "(&(objectClass=user)(sAMAccountName=testuser))"
attrs = NULL
或者这些基础/过滤器组合在其他系统/配置设置等上是否存在问题?
【问题讨论】:
-
Novell C# 库转到了 Mono.Directory.LDAP(记得 Mono 在 Novell),从那时起我就失去了它们的踪迹。
-
我需要使用 C - 如标题、文本和标签中所述 - 对于您丢失的移动 C# 库,这里没有用处
-
请将您的问题edit 显示what you have tried so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。
-
我以前从未接触过 AD/LDAP,直到现在也没有工作的 AD - 所以我刚刚开始感觉到需要什么 - 目前测试了域名检索和 DNS-ldap-server查找
标签: c windows utf-8 active-directory ldap