Zope Subversion Repository

  Zope

Zope: Zope3/trunk/src/zope/security/checker.py

Diff for /Zope3/trunk/src/zope/security/checker.py between version 10245 and 10310

version 10245, Thu May 29 15:51:19 2003 UTC version 10310, Mon Jun 2 12:46:03 2003 UTC
Line 12 
Line 12 
 #  #
 ##############################################################################  ##############################################################################
 """  """
 $Id: checker.py,v 1.25 2003/05/29 15:51:19 stevea Exp $  $Id: checker.py,v 1.26 2003/06/02 12:46:03 stevea Exp $
 """  """
   
 import os  import os
Line 101 
Line 101 
             setattr_permission_func = setattr_permission_func.get              setattr_permission_func = setattr_permission_func.get
         self._setattr_permission_func = setattr_permission_func          self._setattr_permission_func = setattr_permission_func
   
   
     def getPermission_func(self):      def getPermission_func(self):
         return self._permission_func          return self._permission_func
   
Line 124 
Line 123 
   
     def check_setattr(self, object, name):      def check_setattr(self, object, name):
         'See IChecker'          'See IChecker'
   
         permission = self._setattr_permission_func(name)          permission = self._setattr_permission_func(name)
         if permission is not None:          if permission is not None:
             if permission is CheckerPublic:              if permission is CheckerPublic:
Line 134 
Line 132 
                 return                  return
             else:              else:
                 __traceback_supplement__ = (TracebackSupplement, object)                  __traceback_supplement__ = (TracebackSupplement, object)
                 raise Unauthorized(name=name)                  raise Unauthorized, name
   
         __traceback_supplement__ = (TracebackSupplement, object)          __traceback_supplement__ = (TracebackSupplement, object)
         raise ForbiddenAttribute(name)          raise ForbiddenAttribute, name
   
     def check(self, object, name):      def check(self, object, name):
         'See IChecker'          'See IChecker'
   
         permission = self._permission_func(name)          permission = self._permission_func(name)
         if permission is not None:          if permission is not None:
             if permission is CheckerPublic:              if permission is CheckerPublic:
Line 151 
Line 148 
                 return                  return
             else:              else:
                 __traceback_supplement__ = (TracebackSupplement, object)                  __traceback_supplement__ = (TracebackSupplement, object)
                 raise Unauthorized(name=name)                  raise Unauthorized, name
         elif name in _always_available:          elif name in _always_available:
             return              return
   
         __traceback_supplement__ = (TracebackSupplement, object)          __traceback_supplement__ = (TracebackSupplement, object)
         raise ForbiddenAttribute(name)          raise ForbiddenAttribute, name
   
     def proxy(self, value):      def proxy(self, value):
         'See IChecker'          'See IChecker'
         # Now we need to create a proxy  
   
         checker = getattr(value, '__Security_checker__', None)          checker = getattr(value, '__Security_checker__', None)
         if checker is None:          if checker is None:
             checker = selectChecker(value)              checker = selectChecker(value)
Line 174 
Line 169 
 class DecoratedChecker(TrustedCheckerBase):  class DecoratedChecker(TrustedCheckerBase):
     """A checker using further permissions relative to an original checker.      """A checker using further permissions relative to an original checker.
     """      """
   
     implements(IChecker)      implements(IChecker)
   
     def __init__(self, original_checker, permission_func,      def __init__(self, original_checker, permission_func,
Line 224 
Line 218 
                 return                  return
             else:              else:
                 __traceback_supplement__ = (TracebackSupplement, object)                  __traceback_supplement__ = (TracebackSupplement, object)
                 raise Unauthorized(name=name)                  raise Unauthorized, name
         else:          else:
             # let the original checker decide              # let the original checker decide
             self._original_checker.check(object, name)              self._original_checker.check(object, name)
Line 240 
Line 234 
                 return                  return
             else:              else:
                 __traceback_supplement__ = (TracebackSupplement, object)                  __traceback_supplement__ = (TracebackSupplement, object)
                 raise Unauthorized(name=name)                  raise Unauthorized, name
         else:          else:
             # let the original checker decide              # let the original checker decide
             self._original_checker.check_getattr(object, name)              self._original_checker.check_getattr(object, name)
Line 256 
Line 250 
                 return                  return
             else:              else:
                 __traceback_supplement__ = (TracebackSupplement, object)                  __traceback_supplement__ = (TracebackSupplement, object)
                 raise Unauthorized(name=name)                  raise Unauthorized, name
         else:          else:
             # let the original checker decide              # let the original checker decide
             self._original_checker.check_setattr(object, name)              self._original_checker.check_setattr(object, name)
Line 264 
Line 258 
   
     def proxy(self, value):      def proxy(self, value):
         'See IChecker'          'See IChecker'
         # Now we need to create a proxy  
   
         checker = getattr(value, '__Security_checker__', None)          checker = getattr(value, '__Security_checker__', None)
         if checker is None:          if checker is None:
             checker = selectChecker(value)              checker = selectChecker(value)


Generate output suitable for use with a patch program
Legend:
Removed from v.10245  
changed lines
  Added in v.10310

webmaster@zope.org

Powered by ViewCVS 1.0-dev
(Powered by Apache)

ViewCVS and CVS Help