开发者

Ruby/LDAP non-ASCII character support

开发者 https://www.devze.com 2023-01-05 06:51 出处:网络
It seems like LDAP requires strings with non-ASCII characters to be Base64 encoded. The way to tell it that a string is to be parsed as a base64 encoded string is to add an extra colon to the attribut

It seems like LDAP requires strings with non-ASCII characters to be Base64 encoded. The way to tell it that a string is to be parsed as a base64 encoded string is to add an extra colon to the attribute name such that "cn: name" becomes "cn:: name" (according to this site).

Now, my question is: How do I tell Ruby LDAP to do this? I could not find that开发者_如何学编程 the documentation mentions anything about it, but perhaps it is supported.

What about the other LDAP libraries, such as Net::LDAP? Do they support operations with non-ASCII characters?

Update: The test suite for Ruby/LDAP (0.9.7, ruby v. 1.8.6) includes tests for adding entries with foreign characters in the LDAP. They set $KCODE="UTF8". However, this seems to have no effect in my setup.

non-ASCII characters are allowed for attributes as long as there is only ASCII-characters in the dn, so I currently use a workaround with an ASCII-only uid. However, this does not feel optimal.


I solved the problem by switching to Net::LDAP (which by the way feels much nicer to use). This required me to upgrade to ruby 1.8.7, though.

0

精彩评论

暂无评论...
验证码 换一张
取 消