Как передать параметры URL для повторения пользовательских тестов предикатов - PullRequest
0 голосов
/ 17 июня 2010

Я хотел бы создать средство проверки пользовательских предикатов repoze, способное получать доступ к параметрам URL и проверять что-либо. Но я хотел бы использовать allow_only для установки этой проверки прав доступа во всех областях видимости контроллера. Что-то вроде:

class MyController(BaseController):

    allow_only = All(not_anonymous(msg=l_(u'You must be logged on')),
                     my_custom_predicate(msg=l_(u'something wrong')))

    def index(self, **kw):
        return dict()

затем my_custom_predicate должен проверять параметры URL для каждого запроса в каждом методе MyController и делать все, что он делает. Проблема только в том, как разрешить my_custom_predicate проверять параметры URL, используя его так, как я написал выше.

1 Ответ

0 голосов
/ 18 июня 2010

Может быть, вам нужно использовать ControllerProtector

from repoze.what.plugins.pylonshq import ControllerProtector

allow_only = All(not_anonymous(msg=l_(u'You must be logged on')),
                     my_custom_predicate(msg=l_(u'something wrong')))

@ControllerProtector(allow_only)
class MyController(BaseController):

    def index(self, **kw):
        return dict()

См. Документы в http://code.gustavonarea.net/repoze.what-pylons/API.html

...