2015-05-08 5 views
0

Я пишу расширение CKAN, где я реализую интерфейс CKAN IAuthenticator, и мне нужно сохранить дополнительную информацию о зарегистрированном пользователе в сеансе. Я узнал, что CKAN использует сеанс beaker. Как я могу получить к нему доступ? In the documentation of CKAN - всего лишь одно предложение: Объект Session доступен через набор инструментов.Как я могу получить доступ к объекту сеанса в CKAN-расширении?

Помогите мне пожалуйста?

ответ

0

Сессия доступна как переменная для шаблонов, но она не содержит много информации - просто некоторая информация о cookie сеанса пользователя. Сам файл cookie содержит только токен аутентификации.

http://docs.ckan.org/en/latest/theming/variables-and-functions.html#session

Что вы пытаетесь сделать - то, что информация о пользователе вам нужно и где вы пытаетесь получить к нему доступ?

+0

Привет, Мне нужно сохранить текущие роли пользователя на сеанс (я не могу их перенести в БД), а затем мне нужно получить к нему доступ в функциях авторизации для таких действий, как package_create, package_update. – Kapucko

+0

Вы можете хранить все, что захотите, в cookie сеанса, но это не очень хороший способ хранения данных, необходимых для бизнес-логики. Почему вы не можете сохранить роли в db? – Denis

+0

И как я могу получить доступ к cookie сеанса? Я использую теперь pylons.session. Я просто не могу, потому что эти роли могут различаться каждый раз, и через ключ API пользователя можно было бы отдать роль до следующего входа пользователя. Это сложно... – Kapucko