Python 如何设置安全cookie,然后读取其内容?
我一直在看,他们说应该设置安全cookies 其中的示例成功地设置了安全cookie,但我无法使用Python 如何设置安全cookie,然后读取其内容?,python,cookies,tornado,Python,Cookies,Tornado,我一直在看,他们说应该设置安全cookies 其中的示例成功地设置了安全cookie,但我无法使用get\u secure\u cookie()读取其内容,get\u current\u user()将始终返回None 是否有文档未能解释的内容 我正在尝试访问存储在cookie中的用户名,以便当有人试图在web套接字聊天中发送消息时,如果用户未登录,它将拒绝该消息 编辑: 这就是我的班级的样子: class BaseHandler(tornado.web.RequestHandler):
get\u secure\u cookie()
读取其内容,get\u current\u user()
将始终返回None
是否有文档未能解释的内容
我正在尝试访问存储在cookie中的用户名,以便当有人试图在web套接字聊天中发送消息时,如果用户未登录,它将拒绝该消息
编辑:
这就是我的班级的样子:
class BaseHandler(tornado.web.RequestHandler):
def get_current_user(self):
return self.get_secure_cookie("user")
class MainHandler(BaseHandler):
def get(self):
if not self.current_user:
self.redirect("/login")
return
name = tornado.escape.xhtml_escape(self.current_user)
self.write("Hello, " + name)
class LoginHandler(BaseHandler):
def post(self):
self.set_secure_cookie("user", self.get_body_argument("username"))
self.redirect("/")
这是websocket代码:
def open(self):
clients.append(self)
print(self)
def on_message(self, message):
print ("message:"+message)
username = self.get_current_user()
print(username)
if not username:
self.write_message('{"author":"[SYSTEM]","message":"You are not logged in."}')
else:
text = "placeholder"
message = '{"author":"'+username+'","message":"'+text+'"}'
for client in clients:
client.write_message(message)
def on_close(self):
clients.remove(self)
你总是一无所获,因为: 您需要覆盖您的安全方法,tornado提供了一些示例:
我的BaseHandler类有以下代码:
类BaseHandler(tornado.web.RequestHandler):def get_current_user(self):return self.get_secure_cookie(“user”)
这是你的意思还是你在说AO,但还有其他什么?好的,下一步,你能用handler.get_cookie(“user”)读取普通签名的cookie值吗?如果可以-解码签名值函数的问题:正常cookie设置正常,但它们存在相同的问题,我无法访问它们的内容。我也不能使用普通的get\u cookie()