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

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

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

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

self.doProtectedMethod()

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

Комментариев нет:

Отправить комментарий

Всероссийский конкурс  научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...