ElixirLdap

This module LDAP Client for Elixir.

Installation

If available in Hex, the package can be installed by adding elixir_ldap to your list of dependencies in mix.exs:

def deps do
  [
    {:elixir_ldap, "~> 0.2.0"}
  ]
end

Online documentation

Hex docuemtn

Usage

handle = ElixirLdap.connect("192.168.11.101")
#=> #PID<0.212.0>
ElixirLdap.Search.search_single_level_all(handle)
#=> {:ok,
#=>  [%ElixirLdap.Entry{attributes: [{&#39;objectClass&#39;, [&#39;dcObject&#39;, &#39;organization&#39;]},
#=>     {&#39;dc&#39;, [&#39;corporation&#39;]}, {&#39;o&#39;, [&#39;Corporation Inc&#39;]}],
#=>    object_name: &#39;dc=corporation,dc=home,dc=local&#39;}]}

ElixirLdap.Search.search_subtree(handle, [filter: :equal, field: "cn", name: "user01"])
#=> {:ok,
#=>  [%ElixirLdap.Entry{attributes: [{&#39;objectClass&#39;, [&#39;person&#39;]},
#=>     {&#39;sn&#39;, [&#39;Valentine&#39;]}, {&#39;telephoneNumber&#39;, [&#39;041 000 000&#39;]},
#=>     {&#39;cn&#39;, [&#39;user01&#39;]}],
#=>    object_name: &#39;cn=user01,ou=People,dc=corporation,dc=home,dc=local&#39;}]}