summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pyramid/request.py4
-rw-r--r--src/pyramid/security.py20
2 files changed, 17 insertions, 7 deletions
diff --git a/src/pyramid/request.py b/src/pyramid/request.py
index 726f485e7..bb0dcaa2b 100644
--- a/src/pyramid/request.py
+++ b/src/pyramid/request.py
@@ -16,7 +16,9 @@ from pyramid.decorator import reify
from pyramid.i18n import LocalizerRequestMixin
from pyramid.response import Response, _get_response_factory
from pyramid.security import (
- SecurityAPIMixin, AuthenticationAPIMixin, AuthorizationAPIMixin,
+ SecurityAPIMixin,
+ AuthenticationAPIMixin,
+ AuthorizationAPIMixin,
)
from pyramid.url import URLMethodsMixin
from pyramid.util import (
diff --git a/src/pyramid/security.py b/src/pyramid/security.py
index efc0c193c..66e314f79 100644
--- a/src/pyramid/security.py
+++ b/src/pyramid/security.py
@@ -312,10 +312,14 @@ class AuthenticationAPIMixin(object):
Use ``request.identity`` instead.
"""
- policy = _get_authentication_policy(self)
- if policy is None:
+ authn = _get_authentication_policy(self)
+ security = _get_security_policy(self)
+ if authn is not None:
+ return authn.authenticated_userid(self)
+ elif security is not None:
+ return security.identify(self)
+ else:
return None
- return policy.authenticated_userid(self)
@property
def unauthenticated_userid(self):
@@ -332,10 +336,14 @@ class AuthenticationAPIMixin(object):
Use ``request.identity`` instead.
"""
- policy = _get_authentication_policy(self)
- if policy is None:
+ authn = _get_authentication_policy(self)
+ security = _get_security_policy(self)
+ if authn is not None:
+ return authn.unauthenticated_userid(self)
+ elif security is not None:
+ return security.identify(self)
+ else:
return None
- return policy.unauthenticated_userid(self)
@property
def effective_principals(self):