Поддержка не-ASCII символов в Ruby / LDAP - PullRequest
0 голосов
/ 29 июня 2010

Кажется, что LDAP требует, чтобы строки с не-ASCII-символами были закодированы в Base64. Чтобы сказать, что строка должна быть проанализирована как строка в кодировке base64, нужно добавить лишнее двоеточие к имени атрибута так, чтобы «cn: name» стало «cn :: name» (согласно this site ).

Теперь мой вопрос: как мне сказать Ruby LDAP сделать это? Я не мог найти, что документация упоминает что-либо об этом, но, возможно, это поддерживается.

А как насчет других библиотек LDAP, таких как Net :: LDAP? Поддерживают ли они операции с не-ASCII символами?

Обновление : Набор тестов для Ruby / LDAP (0.9.7, ruby ​​v. 1.8.6) включает тесты для добавления записей с иностранными символами в LDAP. Они устанавливают $KCODE="UTF8". Однако, похоже, это не влияет на мои настройки.

Не-ASCII-символы разрешены для атрибутов, если в dn есть только ASCII-символы, поэтому в настоящее время я использую обходной путь с UID только для ASCII. Однако это не кажется оптимальным.

1 Ответ

0 голосов
/ 06 июля 2010

Я решил проблему, переключившись на Net :: LDAP (который, кстати, гораздо приятнее в использовании). Это потребовало от меня обновления до ruby ​​1.8.7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...