这一节涉及的内容有:

1.客户端和服务端操作cookie的方法

2.secure cookie的机制

3.基本/自定义session

Tornado-Secure cookie and Session

三个启动文件由下往上对应的分别是三种服务端:使用secure cookie,使用基本的session,使用自定义session。

另外,这一节中的index.html中并任何实质的内容,我只是在里面练习写了一个服务端生成自定义时间的键值对cookie,同样附在下面

Python代码

start.py

from tornado import web
import tornado.ioloop


class IndexHandler(web.RequestHandler):
    def get(self):
        if self.get_argument('user', None) in ['yeff', 'mike']:
            self.set_secure_cookie('n', self.get_argument('user'))
            self.write('欢迎')
        else:
            self.write('请登陆')


class ManagerHandler(web.RequestHandler):
    def get(self):
        # 注意这里取得的cookie是bytes格式的,不是字符串格式
        if self.get_secure_cookie('n', None) in [b'yeff', b'mike']:
            self.write('欢迎登陆: ' + str(self.get_secure_cookie('n'),encoding="utf-8"))
        else:
            self.redirect('/index')


settings = {
    "template_path": "views",
    "static_path": "static",
    "cookie_secret": "salt",
}

application = web.Application([
    (r"/index", IndexHandler),
    (r"/manager", ManagerHandler),
], **settings)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
使用secure cookie的服务端

相关文章: