Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tornado.ioloop
- import tornado.web
- import smtplib
- import hashlib
- class BaseHandler(tornado.web.RequestHandler):
- def get_current_user(self):
- return self.get_secure_cookie("hashedPass")
- class MainHandler(BaseHandler):
- def get(self):
- if not self.current_user:
- self.redirect("/login")
- return
- else:
- user_department_file = open('../database/user-department', 'r+')
- for line in user_department_file:
- details = line.split(';')
- print details
- department = None
- #if username is correct, give department
- if details[0] == self.get_secure_cookie("user"):
- department = details[-1].rstrip('\n')
- break
- if department != None:
- self.render("../main.html", username = self.get_secure_cookie("user"), department=department)
- else:
- self.write("No department.")
- def post(self):
- logout = self.get_argument("logout")
- if logout == "yes":
- self.clear_cookie("hashedPass")
- self.clear_cookie("user")
- self.redirect("/login")
- class LoginHandler(BaseHandler):
- def get(self):
- self.render("../login.html")
- def post(self):
- try:
- ssl = smtplib.SMTP_SSL ("smtp.cc.ic.ac.uk", 465)
- username = self.get_argument("username")
- password = self.get_argument("password")
- ssl.login(username, password)
- ssl.quit()
- hashedPass = hashlib.sha512(username + password).hexdigest()
- self.set_secure_cookie("hashedPass", hashedPass)
- self.set_secure_cookie("user", username)
- self.redirect("/")
- except:
- self.write("Error")
- application = tornado.web.Application([
- (r"/", MainHandler),
- (r"/login", LoginHandler),
- ], cookie_secret = "MySecretPassphraseMouahaha123456")
- if __name__ == "__main__":
- application.listen(8888)
- tornado.ioloop.IOLoop.instance().start()
Add Comment
Please, Sign In to add comment