https://gist.github.com/3342719
import tornado.ioloop
import tornado.web
class Main(tornado.web.RequestHandler):
def get_current_user(self):
return self.get_secure_cookie("user")
@tornado.web.authenticated
def get(self):
## This work is achieved by decorator @tornado.web.authenticated
#if not self.current_user:
# self.redirect("/login")
# return
username = self.current_user
self.write('Hi there, '+ username)
class Login(Main):
def get(self):
self.render('auth.html')
def post(self):
self.set_secure_cookie("user", self.get_argument("username"))
self.redirect("/")
settings = {
"cookie_secret":"61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=",
"login_url":"/login",
"debug":"True",
}
application = tornado.web.Application([
(r"/", Main),
(r"/login", Login),
(r"/(style\.css)",tornado.web.StaticFileHandler, {"path": "./css/"}),
], **settings)
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
本文介绍了一个使用Python Tornado框架实现的基本网站认证系统。通过设置装饰器@tornado.web.authenticated来保护页面,并利用secure_cookie进行用户身份验证。此外,还展示了如何设置登录和登出流程。

6085

被折叠的 条评论
为什么被折叠?



