diff options
-rw-r--r-- | keystone/common/wsgi.py | 2 | ||||
-rw-r--r-- | keystone/identity/backends/ldap.py | 8 | ||||
-rw-r--r-- | tests/test_wsgi.py | 4 |
3 files changed, 8 insertions, 6 deletions
diff --git a/keystone/common/wsgi.py b/keystone/common/wsgi.py index 381f1ff0..87636dbe 100644 --- a/keystone/common/wsgi.py +++ b/keystone/common/wsgi.py @@ -203,7 +203,7 @@ class BaseApplication(object): class Application(BaseApplication): - @webob.dec.wsgify + @webob.dec.wsgify(RequestClass=Request) def __call__(self, req): arg_dict = req.environ['wsgiorg.routing_args'][1] action = arg_dict.pop('action') diff --git a/keystone/identity/backends/ldap.py b/keystone/identity/backends/ldap.py index f9e546a9..53f7f156 100644 --- a/keystone/identity/backends/ldap.py +++ b/keystone/identity/backends/ldap.py @@ -77,7 +77,8 @@ class Identity(identity.Driver): return self.assignment_api._set_default_domain(ref) def list_users(self): - return self.assignment_api._set_default_domain(self.user.get_all()) + return (self.assignment_api._set_default_domain + (self.user.get_all_filtered())) def get_user_by_name(self, user_name, domain_id): self.assignment_api._validate_default_domain_id(domain_id) @@ -181,7 +182,7 @@ class Identity(identity.Driver): for user_dn in self.group.list_group_users(group_id): user_id = self.user._dn_to_id(user_dn) try: - users.append(self.user.get(user_id)) + users.append(self.user.get_filtered(user_id)) except exception.UserNotFound: LOG.debug(_("Group member '%(user_dn)s' not found in" " '%(group_id)s'. The user should be removed" @@ -264,6 +265,9 @@ class UserApi(common_ldap.EnabledEmuMixIn, common_ldap.BaseLdap): user = self.get(user_id) return identity.filter_user(user) + def get_all_filtered(self): + return [identity.filter_user(user) for user in self.get_all()] + class GroupApi(common_ldap.BaseLdap): DEFAULT_OU = 'ou=UserGroups' diff --git a/tests/test_wsgi.py b/tests/test_wsgi.py index 369dd952..003f7571 100644 --- a/tests/test_wsgi.py +++ b/tests/test_wsgi.py @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -import webob - from keystone import test from keystone.common import wsgi @@ -34,7 +32,7 @@ class BaseWSGITest(test.TestCase): super(BaseWSGITest, self).setUp() def _make_request(self, url='/'): - req = webob.Request.blank(url) + req = wsgi.Request.blank(url) args = {'action': 'index', 'controller': None} req.environ['wsgiorg.routing_args'] = [None, args] return req |