我正在使用Tornado构建一个Web服务器,现在我正在编写登录模块:登录后,用户可以向服务器发送消息。
我的想法如下:
用户成功登录后,服务器将设置安全cookie:echo
。
然后,当用户向服务器发送消息时,该请求应包含服务器刚刚设置的cookie,以告知服务器用户的身份。如果请求中没有cookie,服务器将重定向到登录页面。
现在的问题是:服务器无法获取任何cookie。
您可以看到用户登录时设置了Cookie。
然后浏览器尝试使用ajax:
向服务器发送消息self.set_secure_cookie("user", username, expires=time.time() + 60)
但是,当服务器尝试url: 'http://www.example.com/addcomment',
method: post,
crossDomain: true,
data: message,
processData: false,
cache: false
时,它会获得self.get_secure_cookie("user")
,这意味着请求不会向服务器发送任何cookie。
我也添加了
None
到ajax但它也不起作用。
如果ajax无法向服务器发送任何cookie,我怎么能使用Tornado的安全cookie?