[Checkins] SVN: grokcore.security/trunk/src/grokcore/security/util.py Also introduce protect_setattr helper

Philipp von Weitershausen philikon at philikon.de
Fri Aug 1 07:56:07 EDT 2008


Log message for revision 89122:
  Also introduce protect_setattr helper
  

Changed:
  U   grokcore.security/trunk/src/grokcore/security/util.py

-=-
Modified: grokcore.security/trunk/src/grokcore/security/util.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/util.py	2008-08-01 11:55:16 UTC (rev 89121)
+++ grokcore.security/trunk/src/grokcore/security/util.py	2008-08-01 11:56:06 UTC (rev 89122)
@@ -18,6 +18,7 @@
 from zope.security.checker import NamesChecker, defineChecker
 from zope.security.interfaces import IPermission
 from zope.app.security.protectclass import protectName
+from zope.app.security.protectclass import protectSetAttribute
 
 def protect_getattr(class_, name, permission=None):
     # Define an attribute checker using zope.app.security's
@@ -31,6 +32,17 @@
 
     protectName(class_, name, permission)
 
+def protect_setattr(class_, name, permission=None):
+    # Define a set attribute checker.  If permission is not supplied,
+    # it defaults to 'zope.Pubic'.  If a permission has been supplied,
+    # we make sure the permission has actually been defined.
+    if permission is None:
+        permission = 'zope.Public'
+    else:
+        check_permission(class_, permission)
+
+    protectSetAttribute(class_, name, permission)
+
 def make_checker(factory, view_factory, permission, method_names=None):
     """Make a checker for a view_factory associated with factory.
 



More information about the Checkins mailing list