如何使用Go with LDAP协议

如何使用Go with LDAP协议,ldap,go,Ldap,Go,如何使用Go直接调用和管理Ldap协议?有包裹吗?或者我必须使用udp和tcp吗?Go标准库中没有LDAP库,但快速的谷歌搜索显示您可以尝试以下几种方法: 第二个实际上是第一个的叉子。在github上,您可以随时查看开放问题、上次更新和forking network(),以便在出现大量forking时非常清楚地了解应该使用哪个库 如果您需要一个用于Go标准库中遗漏内容的库,有几个好地方可供查看: 总是从快速的谷歌搜索开始 结帐:/ 以及: 以及: 如果所有这些都失败了,并且您觉得无法

如何使用Go直接调用和管理Ldap协议?有包裹吗?或者我必须使用udp和tcp吗?

Go标准库中没有LDAP库,但快速的谷歌搜索显示您可以尝试以下几种方法:

第二个实际上是第一个的叉子。在github上,您可以随时查看开放问题、上次更新和forking network(),以便在出现大量forking时非常清楚地了解应该使用哪个库

如果您需要一个用于Go标准库中遗漏内容的库,有几个好地方可供查看:

  • 总是从快速的谷歌搜索开始
  • 结帐:/
  • 以及:
  • 以及:

如果所有这些都失败了,并且您觉得无法创建自己的实现,请记住,您可以随时从Go调用C代码(例如许多C LDAP库中的一个)。

我想我应该在这里加上我的10美分。这是一个古老的帖子,但它仍然在这里

我在使用上面voidlogic提到的
mmitton/ldap
库之后使用了该库。mmitton库的问题在于它不能很好地处理过滤器中的转义字符

The test filter: (&(objectClass=user)(cn=wickd(bracketTest )))

Escaped Filter:  (&(objectClass=user)(cn=wickd\28bracketTest \29))
即使使用转义的过滤器,
MMitton库
也返回了一个过滤器编译错误。加载了Mavricknz库,它成功了。甚至还带有EscapeFilter功能!才华横溢


无论如何。。。我想我应该为所有和我有同样困难的人发布这篇文章:)

另外,对于它的服务器端,我不久前写了这个包(在围棋中):

它不是一个完整的LDAP服务器,但可以很好地在另一个数据源上实现身份验证(我一直找不到任何其他可以解决这个问题的项目)


它做了很多“直接管理Ldap协议”:

我开始编写一个助手库,用于构建能够使用Ldap协议的服务器软件。 包括一些使用示例


有关简单的高级ldap客户端,请参阅

上的大多数选项 它们只是另一个的分支,大多数级别太低或太有限(例如,不返回错误
如果您想在网页上提供基于LDAP的身份验证,您可能会喜欢我创建的解决方案:
go ldapc
是一个LDAP身份验证客户端模块,只有一个API


打开了。

您搜索了吗?是谷歌搜索图书馆的最佳结果。对于一些最低限度的服务器支持,我做了如下:@CharlesB实际上这个线程是最重要的结果(),请参考,上面的项目已经过期,不再被维护。看起来很酷!威尔看看我在找这样的东西