我在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

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

您是否有任何见解,想法或其他有用的方法?

谢谢

最佳答案

因此,获得FunctionClauseError的原因是:eldap.add/3期望将erlang字符串作为参数,这是长生不老药的字符列表。以下应该工作:

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

10-05 22:41