[Checkins] SVN: zope.security/trunk/ Add `addCheckerPublic` helper function in ``zope.security.testing`` module that registers the "zope.Public" permission as an IPermission utility. This came from zope.app.security.
Dan Korostelev
nadako at gmail.com
Wed Mar 11 23:23:31 EDT 2009
Log message for revision 97951:
Add `addCheckerPublic` helper function in ``zope.security.testing`` module that registers the "zope.Public" permission as an IPermission utility. This came from zope.app.security.
Changed:
U zope.security/trunk/CHANGES.txt
U zope.security/trunk/src/zope/security/testing.py
-=-
Modified: zope.security/trunk/CHANGES.txt
===================================================================
--- zope.security/trunk/CHANGES.txt 2009-03-12 03:14:02 UTC (rev 97950)
+++ zope.security/trunk/CHANGES.txt 2009-03-12 03:23:29 UTC (rev 97951)
@@ -18,6 +18,9 @@
- Add zcml permission definition for the special "zope.Public"
permission.
+- Add `addCheckerPublic` helper function in ``zope.security.testing`` module
+ that registers the "zope.Public" permission as an IPermission utility.
+
- Add security declarations for the ``zope.security.permisson.Permission`` class.
- Improve test coverage.
Modified: zope.security/trunk/src/zope/security/testing.py
===================================================================
--- zope.security/trunk/src/zope/security/testing.py 2009-03-12 03:14:02 UTC (rev 97950)
+++ zope.security/trunk/src/zope/security/testing.py 2009-03-12 03:23:29 UTC (rev 97951)
@@ -18,8 +18,9 @@
$Id$
"""
-from zope import interface
+from zope import interface, component
from zope.security import interfaces
+from zope.security.permission import Permission
class Principal:
@@ -40,3 +41,17 @@
def __init__(self, principal):
self.principal = principal
self.interaction = None
+
+
+def addCheckerPublic():
+ """Add the CheckerPublic permission as 'zope.Public'"""
+
+ perm = Permission('zope.Public', 'Public',
+ """Special permission used for resources that are always public
+
+ The public permission is effectively an optimization, sine
+ it allows security computation to be bypassed.
+ """
+ )
+ gsm = component.getGlobalSiteManager()
+ gsm.registerUtility(perm, interfaces.IPermission, perm.id)
More information about the Checkins
mailing list