diff options
author | Jose Castro Leon <jose.castro.leon@cern.ch> | 2012-10-10 08:46:51 +0200 |
---|---|---|
committer | Jose Castro Leon <jose.castro.leon@cern.ch> | 2012-10-10 08:50:57 +0200 |
commit | df8d6cc719d2af514794bfd29bc9eb63271e2079 (patch) | |
tree | 9bc39af8af513c279b301d0eea095e7dd2729b45 /keystone/identity | |
parent | 3ec3c7aed1728f0a0b48097cfc472b68dfd902db (diff) | |
download | keystone-df8d6cc719d2af514794bfd29bc9eb63271e2079.tar.gz keystone-df8d6cc719d2af514794bfd29bc9eb63271e2079.tar.xz keystone-df8d6cc719d2af514794bfd29bc9eb63271e2079.zip |
Filter users in LDAP backend (bug 1052925)
Change-Id: I004e569756698098bf073f5516945f356f88bfea
Diffstat (limited to 'keystone/identity')
-rw-r--r-- | keystone/identity/backends/ldap/core.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/keystone/identity/backends/ldap/core.py b/keystone/identity/backends/ldap/core.py index deb78e43..352abd7d 100644 --- a/keystone/identity/backends/ldap/core.py +++ b/keystone/identity/backends/ldap/core.py @@ -357,9 +357,9 @@ class UserApi(common_ldap.BaseLdap, ApiShimMixin): raise exception.UserNotFound(user_id=id) def get_by_name(self, name, filter=None): - users = self.get_all('(%s=%s)' % - (self.attribute_mapping['name'], + query = ('(%s=%s)' % (self.attribute_mapping['name'], ldap_filter.escape_filter_chars(name))) + users = self.get_all(query) try: return users[0] except IndexError: @@ -411,8 +411,9 @@ class UserApi(common_ldap.BaseLdap, ApiShimMixin): self.role_api.rolegrant_delete(ref.id) def get_by_email(self, email): - users = self.get_all('(mail=%s)' % - (ldap_filter.escape_filter_chars(email),)) + query = ('(%s=%s)' % (self.attribute_mapping['mail'], + ldap_filter.escape_filter_chars(email))) + users = self.get_all(query) try: return users[0] except IndexError: |