我在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
作为属性名称的原子也不起作用。
你有任何见解,想法或其他可能有帮助的东西吗?
由于
答案 0 :(得分:1)
所以您得到FunctionClauseError
的原因是:eldap.add/3
期望将erlang字符串作为长生不老药字符列表。以下应该起作用:
:eldap.add(h, 'cn=test1,dc=example,dc=com', [{'objectclass',['person']}, {'cn', ['Test1']},{'sn;, ['Testov']}])