我有一个使用 Beaker Encrypted cookie 会话的 Pyramid 应用程序。我可以使用 RequestWithUserAttribute、pyramid.security.authenticated_userid()、remember() 和 forget() 来登录用户。
但是,大多数用户永远不会登录,并且我想将一个特定的值保存在用户提供的 cookie 中(如果可能,加密)然后站点(他们的位置,或任何字符串) )。
我无法发现如何使用 remember() 函数为会话设置比主体更多的内容,而且我不想发送我自己的 Set-Cookie 标头,更不用说自己处理数据的加密了。
我发现您可以将关键字参数传递给 remember():
remember(request, principal, *kw)
但是当我尝试发送任何额外的值时,我不断地遇到错误。
理想情况下,我会期待这样的事情:
remember(request, 'public', {'location':request.params.get('location')})
这甚至是正确的路线吗?