コード例 #1
0
class AuthorizationEngine(object):
    """Holds any registered authorization activities."""

    def __init__(self):
        self._activity_registry = ActivityRegistry()

    def register(self, activity, *more_activities):
        """Register any authorization activities.
        
        Args:
            activity: required authorization activity to register.
            more_activities: optional authorization activities to register.

        Returns:
            A container for the authorization rules
            associated to the registered authorization activities.
        """
        ps = PermissionSet(self)
        self._activity_registry.add(activity, ps)
        for a in more_activities:
            self._activity_registry.add(a, ps)
        return ps

    def __call__(self, activity):
        """Creates a verifier for an authorization activity.
        
        Args:
            activity: authorization activity to verify.

        Returns:
            A verifier to check the input activity.
        """
        return ActivityAuthorization(activity, self._activity_registry)
コード例 #2
0
 def __init__(self):
     self._activity_registry = ActivityRegistry()