在elixir中使用eldap库

时间:2017-02-28 08:04:47

标签: ldap elixir

我在elixir中使用erlang的eldap模块时遇到了麻烦。我打开连接和使用simple_bind / 3没有问题,但现在我想添加一个新用户。我在erlang中尝试了它,它很好

7> eldap:add(H,"cn=test1,dc=example,dc=com", [{"objectclass",
             ["person"]}, {"cn", ["Test1"]},{"sn", ["Testov"]}]).
ok

但是在长生不老药中,我无法使其发挥作用

iex(34)> :eldap.add(h, "cn=test1,dc=example,dc=com", [{"objectclass",["person"]},
                    {"cn", ["Test1"]},{"sn", ["Testov"]}])

** (FunctionClauseError) no function clause matching in :eldap.add/3
eldap.erl:183: :eldap.add(#PID<0.169.0>, "cn=test1,dc=example,dc=com",
[{"objectclass", ["person"]}, {"cn", ["Test1"]}, {"sn", ["Testov"]}])

我试过(句柄,[DN],[attr])但是它会抛出错误

** (throw) {:error, :attribute_values}
eldap.erl:197: :eldap.add_attrs/1
eldap.erl:187: :eldap.add/4

作为属性名称的原子也不起作用。

你有任何见解,想法或其他可能有帮助的东西吗?

由于

1 个答案:

答案 0 :(得分:1)

所以您得到FunctionClauseError的原因是:eldap.add/3期望将erlang字符串作为长生不老药字符列表。以下应该起作用:

:eldap.add(h, 'cn=test1,dc=example,dc=com', [{'objectclass',['person']}, {'cn', ['Test1']},{'sn;, ['Testov']}])