我正在构建一个我需要身份验证的Haskell Web应用程序.我的组织运行LDAP服务器,我宁愿不重新发明轮子.但是,当我LDAP.Init.ldapSimpleBind从ldap-haskell包中检查源代码时,我发现它调用了C例程ldap_simple_bind_s.据我所知,此API调用将以明文形式将我的用户密码发送到LDAP服务器.不能接受的.
我是否理解ldap-haskell正在做什么?
如果是这样,我是否有一种安全的方法可以从Haskell编写的应用程序向LDAP服务器验证用户身份?
密码必须通过安全连接以明文形式发送到支持密码策略检查的LDAP服务器.如果不这样做,将导致服务器无法管理密码历史记录和密码质量检查.如果服务器不支持密码策略和历史的检验,则该服务器不应该被用于非小事,关键任务应用.使用SSL或使用SSL,使用StartTLS扩展操作将不安全的连接提升为TLS.