From 282a59b05704c10307a5def54fe3531cfd49dcb7 Mon Sep 17 00:00:00 2001 From: Theron Luhn Date: Sun, 17 Mar 2019 10:52:44 -0700 Subject: Clean up configurator methods. --- src/pyramid/config/security.py | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/pyramid/config/security.py b/src/pyramid/config/security.py index 37dfeac3e..ac7dcef43 100644 --- a/src/pyramid/config/security.py +++ b/src/pyramid/config/security.py @@ -39,8 +39,9 @@ class SecurityConfiguratorMixin(object): """ def register(): - self._set_security_policy(policy) + self.registry.registerUtility(policy, ISecurityPolicy) + policy = self.maybe_dotted(policy) intr = self.introspectable( 'security policy', None, @@ -51,10 +52,6 @@ class SecurityConfiguratorMixin(object): # authentication policy used by view config (phase 3) self.action(ISecurityPolicy, register, introspectables=(intr,)) - def _set_security_policy(self, policy): - policy = self.maybe_dotted(policy) - self.registry.registerUtility(policy, ISecurityPolicy) - @action_method def set_authentication_policy(self, policy): """ Override the :app:`Pyramid` :term:`authentication policy` in the @@ -71,15 +68,22 @@ class SecurityConfiguratorMixin(object): """ def register(): - self._set_authentication_policy(policy) + self.registry.registerUtility(policy, IAuthenticationPolicy) if self.registry.queryUtility(IAuthorizationPolicy) is None: raise ConfigurationError( 'Cannot configure an authentication policy without ' 'also configuring an authorization policy ' '(use the set_authorization_policy method)' ) - self._set_legacy_policy() + if self.registry.queryUtility(ISecurityPolicy) is not None: + raise ConfigurationError( + 'Cannot configure an authentication and authorization' + 'policy with a configured security policy.' + ) + security_policy = LegacySecurityPolicy() + self.registry.registerUtility(security_policy, ISecurityPolicy) + policy = self.maybe_dotted(policy) intr = self.introspectable( 'authentication policy', None, @@ -95,19 +99,6 @@ class SecurityConfiguratorMixin(object): introspectables=(intr,), ) - def _set_authentication_policy(self, policy): - policy = self.maybe_dotted(policy) - self.registry.registerUtility(policy, IAuthenticationPolicy) - - def _set_legacy_policy(self): - if self.registry.queryUtility(ISecurityPolicy) is not None: - raise ConfigurationError( - 'Cannot configure an authentication and authorization policy ' - 'with a configured security policy.' - ) - policy = LegacySecurityPolicy() - self.registry.registerUtility(policy, ISecurityPolicy) - @action_method def set_authorization_policy(self, policy): """ Override the :app:`Pyramid` :term:`authorization policy` in the @@ -123,7 +114,7 @@ class SecurityConfiguratorMixin(object): """ def register(): - self._set_authorization_policy(policy) + self.registry.registerUtility(policy, IAuthorizationPolicy) def ensure(): if self.autocommit: @@ -135,6 +126,7 @@ class SecurityConfiguratorMixin(object): '(use the set_authorization_policy method)' ) + policy = self.maybe_dotted(policy) intr = self.introspectable( 'authorization policy', None, @@ -152,10 +144,6 @@ class SecurityConfiguratorMixin(object): ) self.action(None, ensure) - def _set_authorization_policy(self, policy): - policy = self.maybe_dotted(policy) - self.registry.registerUtility(policy, IAuthorizationPolicy) - @action_method def set_default_permission(self, permission): """ -- cgit v1.2.3