summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2/src/authentication
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/wiki2/src/authentication')
-rw-r--r--docs/tutorials/wiki2/src/authentication/tutorial/security.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/security.py b/docs/tutorials/wiki2/src/authentication/tutorial/security.py
index 48149d6e5..1027ddd0a 100644
--- a/docs/tutorials/wiki2/src/authentication/tutorial/security.py
+++ b/docs/tutorials/wiki2/src/authentication/tutorial/security.py
@@ -1,5 +1,6 @@
from pyramid.authentication import AuthTktCookieHelper
from pyramid.csrf import CookieCSRFStoragePolicy
+from pyramid.request import RequestLocalCache
from . import models
@@ -7,8 +8,9 @@ from . import models
class MySecurityPolicy:
def __init__(self, secret):
self.authtkt = AuthTktCookieHelper(secret)
+ self.identity_cache = RequestLocalCache(self.load_identity)
- def authenticated_identity(self, request):
+ def load_identity(self, request):
identity = self.authtkt.identify(request)
if identity is None:
return None
@@ -17,6 +19,9 @@ class MySecurityPolicy:
user = request.dbsession.query(models.User).get(userid)
return user
+ def authenticated_identity(self, request):
+ return self.identity_cache.get_or_create(request)
+
def authenticated_userid(self, request):
user = self.authenticated_identity(request)
if user is not None: