我试图弄清楚如何在从 Cherrypy 重定向之前设置 cookie。我的情况是这样的:
- 当用户登录时,我想使用用户的用户名设置一个 cookie,以便在 客户端代码(具体来说,将用户名插入到每个 页面显示当前登录者)。
我的登录系统的工作方式是,成功登录后,用户将被重定向到他们在登录之前尝试访问的任何页面,或默认页面。从技术上讲,它们被重定向到不同的域,因为登录页面是安全的,而站点的其余部分则不安全,但它们都位于同一站点/主机名上。重定向是通过引发 cherrypy.HTTPRedirect()
来完成的。 。我想在重定向之前或之后设置 cookie,但是当我尝试设置 cherrypy.response.cookie[<tag>]=<value>
时在重定向之前,它什么也不做。目前,我已在网站的每个索引页面中设置 cookie,希望能够覆盖大部分重定向选项,但我不喜欢这种解决方案。有更好的选择吗?如果有的话怎么办?
最佳答案
回答我自己的问题:看起来如果我添加 cherrypy.response.cookie[<tag>]['path'] = '/'
设置cookie值后,它会按预期工作。
关于Python/Cherrypy : set cookie on redirect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746272/