summaryrefslogtreecommitdiff
path: root/repoze/bfg/security.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-16 10:48:38 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-16 10:48:38 +0000
commit4ac0ff3cace7dd91c3f3d945b96932deb610d4f7 (patch)
treed03f92ed065fa6304b2f01ab25ae4a0800c02109 /repoze/bfg/security.py
parent2466f6eaa2246598dc6cb3c962364773eb4cc64a (diff)
downloadpyramid-4ac0ff3cace7dd91c3f3d945b96932deb610d4f7.tar.gz
pyramid-4ac0ff3cace7dd91c3f3d945b96932deb610d4f7.tar.bz2
pyramid-4ac0ff3cace7dd91c3f3d945b96932deb610d4f7.zip
Add convenience has_permission function.
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):