2010-06-29 6 views
0

Il semble que LDAP exige que les chaînes avec des caractères non ASCII soient codées en Base64. La manière de dire qu'une chaîne doit être analysée en tant que chaîne codée en base64 consiste à ajouter un deux-points au nom de l'attribut, de sorte que "cn: name" devienne "cn :: name" (selon this site). Maintenant, ma question est: Comment puis-je dire à Ruby LDAP de le faire? Je ne pouvais pas trouver que le documentation mentionne quoi que ce soit à ce sujet, mais peut-être qu'il est pris en charge.Prise en charge des caractères non-ASCII Ruby/LDAP

Qu'en est-il des autres bibliothèques LDAP, telles que Net :: LDAP? Est-ce qu'ils supportent les opérations avec des caractères non-ASCII?

Mise à jour: La suite de tests pour Ruby/LDAP (. 0.9.7, Ruby v 1.8.6) comprend des tests pour ajouter des entrées avec des caractères étrangers dans le LDAP. Ils ont défini $KCODE="UTF8". Cependant, cela semble n'avoir aucun effet dans ma configuration.

Les caractères non-ASCII sont autorisés pour les attributs tant qu'il n'y a que des caractères ASCII dans le dn, donc j'utilise actuellement une solution de contournement avec un UID uniquement ASCII. Cependant, cela ne semble pas optimal.

Répondre

0

J'ai résolu le problème en passant à Net :: LDAP (qui d'ailleurs est beaucoup plus agréable à utiliser). Cela m'a obligé à passer à ruby ​​1.8.7, cependant.

Questions connexes