我在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']}])