diff options
| author | Theron Luhn <theron@luhn.com> | 2019-02-17 19:02:33 -0800 |
|---|---|---|
| committer | Theron Luhn <theron@luhn.com> | 2019-02-19 08:53:36 -0800 |
| commit | 839bfb427093b94a5e75b22a11a5df20ad94cb1e (patch) | |
| tree | 4b9280217264ed60ff2d6a426e41cf0ea528ad40 /src | |
| parent | 4c3c826ca9a6069f47fee439576966cf625df528 (diff) | |
| download | pyramid-839bfb427093b94a5e75b22a11a5df20ad94cb1e.tar.gz pyramid-839bfb427093b94a5e75b22a11a5df20ad94cb1e.tar.bz2 pyramid-839bfb427093b94a5e75b22a11a5df20ad94cb1e.zip | |
Set legacy policy when using authn/authz policies.
Diffstat (limited to 'src')
| -rw-r--r-- | src/pyramid/config/security.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pyramid/config/security.py b/src/pyramid/config/security.py index b023917aa..42554db97 100644 --- a/src/pyramid/config/security.py +++ b/src/pyramid/config/security.py @@ -14,6 +14,7 @@ from pyramid.interfaces import ( from pyramid.csrf import LegacySessionCSRFStoragePolicy from pyramid.exceptions import ConfigurationError from pyramid.util import as_sorted_tuple +from pyramid.security import LegacySecurityPolicy from pyramid.config.actions import action_method @@ -77,6 +78,7 @@ class SecurityConfiguratorMixin(object): 'also configuring an authorization policy ' '(use the set_authorization_policy method)' ) + self._set_legacy_policy() intr = self.introspectable( 'authentication policy', @@ -97,6 +99,15 @@ class SecurityConfiguratorMixin(object): 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 |
