【问题标题】:How can I access session object in CKAN extension?如何访问 CKAN 扩展中的会话对象?
【发布时间】:2015-05-08 13:24:56
【问题描述】:

我正在编写一个 CKAN 扩展,我在其中实现 CKAN 接口 IAuthenticator,我需要在会话中保存一些有关登录用户的附加信息。我发现 CKAN 使用烧杯会话。我怎样才能访问它? In the documentation of CKAN就一句话:Session对象可以通过工具包获取。

你能帮帮我吗?

【问题讨论】:

    标签: python session plugins ckan


    【解决方案1】:

    会话可用作模板的变量,但它不包含太多信息 - 只是有关用户会话 cookie 的一些信息。 cookie 本身只包含一个身份验证令牌。

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

    您要做什么 - 您需要有关用户的哪些信息以及您要在哪里访问它?

    【讨论】:

    • 嗨,我需要将用户的当前角色保存到会话中(我无法将它们保存在数据库中),然后我需要在授权函数中访问它以执行 package_create、package_update 等操作。
    • 您可以在会话 cookie 中存储您想要的任何内容,但这不是存储业务逻辑所需数据的好方法。为什么不能将角色保存到数据库?
    • 我怎样才能访问会话cookie?我现在正在使用 pylons.session。我只是不能,因为角色可能每次都不同,并且通过用户的 API 密钥可以赋予角色直到用户下次登录。很复杂……
    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多