Skip to content

Instantly share code, notes, and snippets.

@cjgiridhar
Created August 13, 2012 17:46
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save cjgiridhar/3342719 to your computer and use it in GitHub Desktop.
Save cjgiridhar/3342719 to your computer and use it in GitHub Desktop.
Tornado - Authentication - tornado.web.authenticated
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()
@leopepe
Copy link

leopepe commented Dec 1, 2012

Thanks for sharing this, it helped me a lot on understanding how tornado handles and manages cookies and cookie_secret passphrase.

The code of the project is here, if you want to checkout. :)
https://bitbucket.org/leopepe/sithlog_kaze/src

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment