Python tornado websocket应用程序中的用户身份验证
现在,我提高了我的tornado技能,并且有一个关于用户身份验证的问题 我的解决方案是在第一个页面上创建安全令牌,然后将其与其他数据一起发送,从javascript发送到tornado服务器,在那里进行检查和验证用户 我想到了cookie,但我不知道如何在Python tornado websocket应用程序中的用户身份验证,python,authentication,tornado,Python,Authentication,Tornado,现在,我提高了我的tornado技能,并且有一个关于用户身份验证的问题 我的解决方案是在第一个页面上创建安全令牌,然后将其与其他数据一起发送,从javascript发送到tornado服务器,在那里进行检查和验证用户 我想到了cookie,但我不知道如何在WebSocketHandler.on_message 你怎么想?我哪里错了?谢谢我建议您阅读文档中的 那里应该有一些相关的内容: 编辑 我刚意识到你的问题是关于WebSocket的。我相信您可以使用您概述的方法: 在应用程序的非w
WebSocketHandler.on_message
你怎么想?我哪里错了?谢谢我建议您阅读文档中的
那里应该有一些相关的内容:
- 在应用程序的非websocket部分创建cookie
- 检查websocket处理程序中的cookie
您应该能够使用
self.request.headers
访问websocket处理程序中的请求标头客户端可能会使用假用户生成请求标头:
'user=“imfkbwxxxxx==| xxxxxxxxx | 9D847F58A6897DF8912F011F0A784xxxxxxxxx”'
我认为下面的方法更好。
如果用户不存在或cookie id不正确或伪造,则函数get_secure_cookie将不会返回用户
类WebSocketHandler(tornado.websocket.WebSocketHandler):
def打开(自):
user\u id=self.get\u secure\u cookie(“用户”)
如果不是用户id:则返回None
...
噢,谢谢你,Codeape!使用self.request.headers
websocket处理程序save my day)查看以下答案: