summaryrefslogtreecommitdiff
path: root/repoze/bfg/router.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-05-25 01:56:39 +0000
committerChris McDonough <chrism@agendaless.com>2009-05-25 01:56:39 +0000
commit2cca10bbe326cca7b9b2573a972d751fcc1de403 (patch)
tree62a6685e1bcec3ba634d060051b62a8747a7eaa6 /repoze/bfg/router.py
parent70764fae4bf153a24974183af36fbb462db1799b (diff)
downloadpyramid-2cca10bbe326cca7b9b2573a972d751fcc1de403.tar.gz
pyramid-2cca10bbe326cca7b9b2573a972d751fcc1de403.tar.bz2
pyramid-2cca10bbe326cca7b9b2573a972d751fcc1de403.zip
Make sure the default forbidden response (when a secpol has no ``forbidden``) works properly.
Diffstat (limited to 'repoze/bfg/router.py')
-rw-r--r--repoze/bfg/router.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index fdd5495fe..ac3bd53cd 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -31,13 +31,15 @@ from repoze.bfg.registry import populateRegistry
from repoze.bfg.request import HTTP_METHOD_FACTORIES
from repoze.bfg.request import Request
+from repoze.bfg.security import _forbidden
+
from repoze.bfg.settings import Settings
from repoze.bfg.urldispatch import RoutesRootFactory
from repoze.bfg.traversal import _traverse
from repoze.bfg.view import _view_execution_permitted
-from repoze.bfg.wsgi import Unauthorized
+
from repoze.bfg.wsgi import NotFound
_marker = object()
@@ -55,6 +57,7 @@ class Router(object):
self.request_factory = registry.queryUtility(IRequestFactory)
security_policy = registry.queryUtility(ISecurityPolicy)
+ self.security_policy = security_policy
unauthorized_app_factory = registry.queryUtility(
IUnauthorizedAppFactory)
@@ -86,7 +89,7 @@ class Router(object):
if hasattr(security_policy, 'forbidden'):
security_policy_forbidden = security_policy.forbidden
else:
- security_policy_forbidden = Unauthorized
+ security_policy_forbidden = _forbidden
warning = ('You are running with a security policy (%s) which '
'does not have a "forbidden" method; in BFG 0.8.2+ '
'the ISecurityPolicy interface in the '
@@ -101,9 +104,9 @@ class Router(object):
self.forbidden_resp_factory = (self.forbidden_resp_factory or
security_policy_forbidden)
- self.security_policy = security_policy
self.notfound_app_factory = registry.queryUtility(INotFoundAppFactory,
default=NotFound)
+
settings = registry.queryUtility(ISettings)
if settings is not None:
self.debug_authorization = settings.debug_authorization