当我尝试使用 ruby 1.9.2 和 ruby-ldap gem ( http://ruby-ldap.sourceforge.net/ ) 创建一个新的 LDAP 用户时,我总是得到这个错误:“无效的 DN 语法”
我想不通,为什么会这样。与我的服务器的连接工作正常。可以毫无问题地读取现有用户的属性。
cn = "#{first_name}#{last_name}"
entry = [
LDAP.mod(LDAP::LDAP_MOD_ADD,'objectclass',['top','person', 'user']),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'name', [cn]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'accountExpires', ["0"]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'displayName', [cn]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'name', [cn]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'givenName', [first_name]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'sn', [last_name]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'userPrincipalName', ["#{first_name}.#{last_name}@my.domain"]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'pwdLastSet', ["0"]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'sAMAccountName', ["#{first_name}.#{last_name}"]),
LDAP.mod(LDAP::LDAP_MOD_ADD | LDAP::LDAP_MOD_BVALUES, 'unicodePwd', [password_hash]),
LDAP.mod(LDAP::LDAP_MOD_ADD, 'userAccountControl', ["66048"]),
]
begin
ldap_connection.add("cn=#{cn}, ou=MyUsers, dc=my, dc=domain", entry)
rescue
puts ldap_connection.err2string(ldap_connection.err)
end
例如,名字“John”和姓氏“Doe”会发生这种情况
谢谢