суббота, 28 мая 2011 г.

анонимный пользователь с ролью Manager

Иногда нужно чтобы анонимный пользователь мог выполнять 
действия с ролью Manager.
 В случае использования Python Scripts такая возможность 
реализуется  использованием proxy- роли. Для метода класса
вида это может быть выполнено следующим образом:
  
from AccessControl.SecurityManagement  
import newSecurityManager, noSecurityManager
...

user = self.context.getWrappedOwner()
newSecurityManager(self.request, user)

self.doProtectedMethod()

noSecurityManager()
 
В результате выполнения кода создается временный 
пользователь с правами администратора. Созание такого
пользователя внутри метода класса позволяет анонимному
пользователю (при наличии соответствующих 
методов и интерфейса доступа) действовать как
 администратор.

Использование MinGW для компиляции в Plone

Для использования MinGW в Plone необходимо в каталоге \python\Lib\distutils каталога Plone создать текстовый файл distutils.cfg со следующим содержимым:
 [build]
compiler=mingw32