aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/webui/app.py
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@outlook.com>2016-11-15 16:27:26 +0800
committerAaron LI <aaronly.me@outlook.com>2016-11-15 16:27:26 +0800
commit94ce3f24262e948e0b3275552c9ed4550bf41248 (patch)
treed858ac41694003e0f34e1fcf5e2120bdf0b63ea1 /fg21sim/webui/app.py
parentf8d8335199aa86a8fe19da6e20829a1b9ded3cf9 (diff)
downloadfg21sim-94ce3f24262e948e0b3275552c9ed4550bf41248.tar.bz2
webui: To support password authentication
Move the "IndexHandler" to separate module located at the "handlers/" directory.
Diffstat (limited to 'fg21sim/webui/app.py')
-rw-r--r--fg21sim/webui/app.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/fg21sim/webui/app.py b/fg21sim/webui/app.py
index 004be8d..3793fda 100644
--- a/fg21sim/webui/app.py
+++ b/fg21sim/webui/app.py
@@ -14,23 +14,21 @@ using the WebSocket_ protocol.
import os
import tornado.web
+from tornado.web import url
-from .websocket import FG21simWSHandler
+from .handlers import IndexHandler, LoginHandler, FG21simWSHandler
+from .utils import gen_cookie_secret
from ..configs import ConfigManager
-class IndexHandler(tornado.web.RequestHandler):
- def get(self):
- self.render("index.html")
-
-
class Application(tornado.web.Application):
configmanager = ConfigManager()
def __init__(self, **kwargs):
handlers = [
- (r"/", IndexHandler),
- (r"/ws", FG21simWSHandler),
+ url(r"/", IndexHandler, name="index"),
+ url(r"/login", LoginHandler, name="login"),
+ url(r"/ws", FG21simWSHandler),
]
settings = {
# The static files will be served from the default "/static/" URI.
@@ -39,6 +37,12 @@ class Application(tornado.web.Application):
"static"),
"template_path": os.path.join(os.path.dirname(__file__),
"templates"),
+ # URL to be redirected to if the user is not logged in
+ "login_url": r"/login",
+ # Secret key used to sign the cookies
+ "cookie_secret": gen_cookie_secret(),
+ # Enable "cross-site request forgery" (XSRF)
+ "xsrf_cookies": True,
}
settings.update(kwargs)
super().__init__(handlers, **settings)