如何使用Go与LDAP协议

Mah*_*ari 23 ldap go

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

voi*_*gic 18

Go标准库中没有LDAP库,但快速Google搜索会显示您可以尝试的几个:

第二个实际上是第一个的分支.在github上,你总是可以查看开放的问题,最后更新和分叉网络(https://github.com/mmitton/ldap/network),以便很好地了解在有大量分支时应该使用哪个库.

如果你需要一个库来获取Go标准库中省略的东西,那么有几个好的地方可以看:

如果所有这些都让您失败并且您不想创建自己的实现,请记住,您始终可以使用cgo从Go调用C代码(例如,许多C LDAP库中的一个).

  • 请参考https://github.com/go-ldap/ldap,上述项目已过期且不再维护. (7认同)

小智 11

以为我应该在这里加上我的十美分.这是一个老帖子,但在这里它仍然是

在使用上面的voidlogic所提到的库后,我使用了https://github.com/mavricknz/ldapmmitton/ldap.mmitton lib的问题在于它在过滤器中不能很好地处理转义字符.

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

Escaped Filter:  (&(objectClass=user)(cn=wickd\28bracketTest \29))
Run Code Online (Sandbox Code Playgroud)

MMitton library即使使用转义过滤器,刚回来时也会出现过滤器编译错误.加载了Mavricknz lib并且它有效.甚至还带有EscapeFilter功能!辉煌!

无论如何......我想我应该为那些和我一样奋斗的人发布这个:)