summaryrefslogtreecommitdiff
path: root/repoze/bfg/security.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/security.py')
-rw-r--r--repoze/bfg/security.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/repoze/bfg/security.py b/repoze/bfg/security.py
index 6f2c858e3..21a0a3f2a 100644
--- a/repoze/bfg/security.py
+++ b/repoze/bfg/security.py
@@ -1,4 +1,6 @@
from zope.interface import implements
+from zope.component import queryUtility
+
from zope.location.location import LocationIterator
from repoze.bfg.interfaces import ISecurityPolicy
@@ -11,6 +13,12 @@ Authenticated = 'system.Authenticated'
Allow = 'Allow'
Deny = 'Deny'
+def has_permission(permission, context, request):
+ policy = queryUtility(ISecurityPolicy)
+ if policy is None:
+ return True
+ return policy.permits(context, request, permission)
+
class ACLAuthorizer(object):
def __init__(self, context, logger=None):