我正在尝试使用 ldap 创建一个新用户,方法如下:
require 'net/ldap'
ldap = Net::LDAP.new
ldap.host = 'ldap'
ldap.auth('uid=myuser,ou=users,dc=my,dc=domain,dc=com', 'mypass')
ldap.bind # this executes successfully, up to this point, all is well
dn = 'uid=newuser,ou=users,dc=my,dc=domain,dc=com'
attributes = { cn: 'newuser', sn: 'surname', objectclass: ['top', 'agent'] }
ldap.add(dn: dn, attributes: attributes)
ldap.get_operation_result
#=> #<OpenStruct code=21, message="unknown result (21)">
我是 ldap 的新手,我在网上找不到提供如何使用 net-ldap 创建新用户的清晰示例的地方。
过去两天我也遇到了这些问题,但最终找到了一个解决方案来吸引我的用户。
这是我的工作代码:
ldap = Net::LDAP.new
ldap.host = SERVER
ldap.port = PORT
ldap.authenticate login, pass
dn = "cn=Pick Name, dc=example, dc=com"
attr = {
:cn => "Pick Name",
:objectclass => "User",
:sn => 'Name',
:telephoneNumber => "12345678",
:mail => "[email protected]"
}
ldap.add(:dn => dn, :attributes => attr)
我认为给我带来问题的是对象类..在对象类中,您在 AD 中设置的类型中编写。因此,如果您想要一个组织单位,它看起来像这样: :objectclass => "organizationalUnit"
另外我认为 DN 和 attr 中的 CN 需要相同。
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)