Ошибка Plone 5 при создании authenticator.token - PullRequest
2 голосов
/ 13 марта 2019

Я использую Plone 5 со скриптом Python для изменения каталога. Во время этого процесса я получил ошибку защиты CSRF. В Plone docs я нашел следующее решение:

authenticator = context.restrictedTraverse("@@authenticator")
url = url + "?_authenticator="  + authenticator.token()
state.set(..., next_action='redirect_to:string:%s' % url)

Выполнение этого кода приводит к этому:

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Shared.DC.Scripts.Bindings, line 322, in __call__
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 344, in _exec
Module script, line 19, in my_script
 - <PythonScript at /path/to/my_script used for /path/library>
 - Line 19
Module plone.protect.authenticator, line 104, in token
Module plone.protect.authenticator, line 95, in createToken
Module plone.protect.authenticator, line 51, in _getKeyring
Module zope.component._api, line 169, in getUtility
ComponentLookupError: (<InterfaceClass plone.keyring.interfaces.IKeyManager>, '')

Что пошло не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...