Merge "Move identity logic from controller to manager"

This commit is contained in:
Jenkins 2014-02-13 05:06:38 +00:00 committed by Gerrit Code Review
commit 47892b90df
2 changed files with 13 additions and 6 deletions

View File

@ -350,15 +350,11 @@ class UserV3(controller.V3Controller):
domain_scope = self._get_domain_id_for_request(context)
try:
self.identity_api.authenticate(user_id=user_id,
password=original_password,
domain_scope=domain_scope)
self.identity_api.change_password(user_id, original_password,
password, domain_scope)
except AssertionError:
raise exception.Unauthorized()
update_dict = {'password': password}
self._update_user(context, user_id, update_dict, domain_scope)
@dependency.requires('identity_api')
class GroupV3(controller.V3Controller):

View File

@ -461,6 +461,17 @@ class Manager(manager.Manager):
domain_id, driver = self._get_domain_id_and_driver(domain_scope)
return driver.check_user_in_group(user_id, group_id)
@domains_configured
def change_password(self, user_id, original_password, new_password,
domain_scope):
# authenticate() will raise an AssertionError if authentication fails
self.authenticate(user_id, original_password,
domain_scope=domain_scope)
update_dict = {'password': new_password}
self.update_user(user_id, update_dict, domain_scope=domain_scope)
# TODO(morganfainberg): Remove the following deprecated methods once
# Icehouse is released. Maintain identity -> assignment proxy for 1
# release.