summaryrefslogtreecommitdiffstats
path: root/keystone-moon/keystone/assignment/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'keystone-moon/keystone/assignment/core.py')
-rw-r--r--keystone-moon/keystone/assignment/core.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/keystone-moon/keystone/assignment/core.py b/keystone-moon/keystone/assignment/core.py
index a001e6b1..a510c3c1 100644
--- a/keystone-moon/keystone/assignment/core.py
+++ b/keystone-moon/keystone/assignment/core.py
@@ -381,7 +381,10 @@ class Manager(manager.Manager):
self.driver.remove_role_from_user_and_project(user_id, project_id,
role_id)
- self.identity_api.emit_invalidate_user_token_persistence(user_id)
+ if project_id:
+ self._emit_invalidate_grant_token_persistence(user_id, project_id)
+ else:
+ self.identity_api.emit_invalidate_user_token_persistence(user_id)
self.revoke_api.revoke_by_grant(role_id, user_id=user_id,
project_id=project_id)
@@ -911,7 +914,7 @@ class Manager(manager.Manager):
@six.add_metaclass(abc.ABCMeta)
-class Driver(object):
+class AssignmentDriverV8(object):
def _role_to_dict(self, role_id, inherited):
role_dict = {'id': role_id}
@@ -1158,6 +1161,9 @@ class Driver(object):
raise exception.NotImplemented() # pragma: no cover
+Driver = manager.create_legacy_driver(AssignmentDriverV8)
+
+
@dependency.provider('role_api')
@dependency.requires('assignment_api')
class RoleManager(manager.Manager):
@@ -1219,7 +1225,7 @@ class RoleManager(manager.Manager):
@six.add_metaclass(abc.ABCMeta)
-class RoleDriver(object):
+class RoleDriverV8(object):
def _get_list_limit(self):
return CONF.role.list_limit or CONF.list_limit
@@ -1287,3 +1293,6 @@ class RoleDriver(object):
"""
raise exception.NotImplemented() # pragma: no cover
+
+
+RoleDriver = manager.create_legacy_driver(RoleDriverV8)