summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keystone/identity/backends/ldap/common.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/keystone/identity/backends/ldap/common.py b/keystone/identity/backends/ldap/common.py
index 6f2be75d4..6b8750baa 100644
--- a/keystone/identity/backends/ldap/common.py
+++ b/keystone/identity/backends/ldap/common.py
@@ -1284,8 +1284,9 @@ class BaseLdap(object):
def _dn_to_id(self, dn):
# Check if the naming attribute in the DN is the same as keystone's
# configured 'id' attribute'. If so, extract the ID value from the DN
- if self.id_attr == ldap.dn.str2dn(dn)[0][0][0].lower():
- return ldap.dn.str2dn(dn)[0][0][1]
+ if self.id_attr == utf8_decode(
+ ldap.dn.str2dn(utf8_encode(dn))[0][0][0].lower()):
+ return utf8_decode(ldap.dn.str2dn(utf8_encode(dn))[0][0][1])
else:
# The 'ID' attribute is NOT in the DN, so we need to perform an
# LDAP search to look it up from the user entry itself.