diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-16 10:48:38 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-16 10:48:38 +0000 |
| commit | 4ac0ff3cace7dd91c3f3d945b96932deb610d4f7 (patch) | |
| tree | d03f92ed065fa6304b2f01ab25ae4a0800c02109 /repoze/bfg/security.py | |
| parent | 2466f6eaa2246598dc6cb3c962364773eb4cc64a (diff) | |
| download | pyramid-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.py | 8 |
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): |
