summaryrefslogtreecommitdiff
path: root/service/pixelated/resources/auth.py
diff options
context:
space:
mode:
authorRoald de Vries <rdevries@thoughtworks.com>2016-12-08 16:59:09 +0100
committerRoald de Vries <rdevries@thoughtworks.com>2016-12-08 16:59:09 +0100
commitfafac3b4128a0993b0de1c6e8ca3062bf1ccc14e (patch)
tree3b9a446e4c82bb8ba94c1cd0adec57c0042dae28 /service/pixelated/resources/auth.py
parent521bce7eff5cf921156efe74c91a0499ade43619 (diff)
Revert "[#801] Merge branch 'signup'"
This reverts commit d10f607a4d40587510b0dc31b31fe4750bf4a3a3, reversing changes made to c28abba2f5b1186c671ebef508d40ffaae6d5bc5.
Diffstat (limited to 'service/pixelated/resources/auth.py')
-rw-r--r--service/pixelated/resources/auth.py32
1 files changed, 16 insertions, 16 deletions
diff --git a/service/pixelated/resources/auth.py b/service/pixelated/resources/auth.py
index 057eb053..adac985f 100644
--- a/service/pixelated/resources/auth.py
+++ b/service/pixelated/resources/auth.py
@@ -64,18 +64,10 @@ class SessionChecker(object):
class PixelatedRealm(object):
implements(portal.IRealm)
- def __init__(self, authenticated_resource, public_resource):
- self._authenticated_resource = authenticated_resource
- self._public_resource = public_resource
-
def requestAvatar(self, avatarId, mind, *interfaces):
- if IResource not in interfaces:
- raise NotImplementedError()
- if avatarId == checkers.ANONYMOUS:
- avatar = self._public_resource
- else:
- avatar = self._authenticated_resource
- return IResource, avatar, lambda: None
+ if IResource in interfaces:
+ return IResource, avatarId, lambda: None
+ raise NotImplementedError()
@implementer(IResource)
@@ -83,9 +75,11 @@ class PixelatedAuthSessionWrapper(object):
isLeaf = False
- def __init__(self, portal, credentialFactories=[]):
+ def __init__(self, portal, root_resource, anonymous_resource, credentialFactories):
self._portal = portal
self._credentialFactories = credentialFactories
+ self._root_resource = root_resource
+ self._anonymous_resource = anonymous_resource
def render(self, request):
raise UnsupportedMethod(())
@@ -99,17 +93,23 @@ class PixelatedAuthSessionWrapper(object):
return util.DeferredResource(self._login(creds, request))
def _login(self, credentials, request):
+ pattern = re.compile("^/sandbox/")
+
def loginSucceeded(args):
interface, avatar, logout = args
- return avatar
+ if avatar == checkers.ANONYMOUS and not pattern.match(request.path):
+ return self._anonymous_resource
+ else:
+ return self._root_resource
def loginFailed(result):
if result.check(error.Unauthorized, error.LoginFailed):
return UnauthorizedResource(self._credentialFactories)
else:
- log.error(
- "PixelatedAuthSessionWrapper.getChildWithDefault encountered "
- "unexpected error: %s" % result)
+ log.err(
+ result,
+ "HTTPAuthSessionWrapper.getChildWithDefault encountered "
+ "unexpected error")
return ErrorPage(500, None, None)
d = self._portal.login(credentials, None, IResource)