python

tornado中的身份验证及安全性

import tornado.web

---------------------------------------设置普通cookie的方式-------------------------------

class hahh(tornado.web.RequestHandler):
def get(self):
if not self.get_cookie(“mynamen”):
self.set_cookie(“myname”) #设置cookie

-----------------------------------------设置安全cookie的方式------------------------------

application = tornado.web.Application([
(r"/", MainHandler),
], cookie_secret="_TODO:GENERATE_YOUR_OWN_RANDOM_VALUE_HERE")
class MainHandler(tornado.web.RequestHandler):
def get(self):
if not self.get_secure_cookie(“mycookie”):
self.set_secure_cookie(“mycookie”, “myvalue”)
self.write(“Your cookie was not set yet!”)
else:
self.write(“Your cookie was set!”)

-----------------------------------------------用户安全验证----------------------------

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 get(self):
self.write(’’
'Name: ’
‘’
‘’)

def post(self):
    self.set_secure_cookie("user", self.get_argument("name"))
    self.redirect("/")

application = tornado.web.Application([
(r"/", MainHandler),
(r"/login", LoginHandler),
], cookie_secret="_TODO:GENERATE_YOUR_OWN_RANDOM_VALUE_HERE")
#-------------------------------使用装饰器验证用户是否登录,如果用户未登录则直接跳转到指定的登录界面--------------------
class MainHandler(BaseHandler):
@tornado.web.authenticated
def get(self):
name = tornado.escape.xhtml_escape(self.current_user)
self.write("Hello, " + name)

settings = {
“cookie_secret”: “_TODO:GENERATE_YOUR_OWN_RANDOM_VALUE_HERE”,
“login_url”: “/login”,
}
application = tornado.web.Application([
(r"/", MainHandler),
(r"/login", LoginHandler),
], **settings)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值