def check(self, context, action, target, registered=True): """Verifies that the action is valid on the target in this context. :param context: Glance request context :param action: String representing the action to be checked :param target: Dictionary representing the object of the action. :returns: A non-False value if access is allowed. """ if registered and action not in self.registered_rules: raise policy.PolicyNotRegistered(action) return super(Enforcer, self).enforce(action, target, context)
def enforce(self, context, action, target, registered=True): """Verifies that the action is valid on the target in this context. :param context: Glance request context :param action: String representing the action to be checked :param target: Dictionary representing the object of the action. :raises: `glance.common.exception.Forbidden` :returns: A non-False value if access is allowed. """ if registered and action not in self.registered_rules: raise policy.PolicyNotRegistered(action) try: return super(Enforcer, self).enforce(action, target, context, do_raise=True, exc=exception.Forbidden, action=action) except policy.InvalidScope: raise exception.Forbidden(action=action)