From 30bf29091b7dd5531c5a096e09f3cdb6331b342f Mon Sep 17 00:00:00 2001 From: Arturo Filastò Date: Thu, 11 Aug 2011 18:18:34 +0200 Subject: Implement rudimentary session and login management --- packages/torouter-web/tui/controllers/__init__.pyc | Bin 154 -> 181 bytes packages/torouter-web/tui/controllers/main.py | 11 ++++- packages/torouter-web/tui/controllers/main.pyc | Bin 855 -> 1196 bytes packages/torouter-web/tui/controllers/network.py | 49 ++++++++++++++++----- packages/torouter-web/tui/controllers/network.pyc | Bin 5261 -> 6373 bytes packages/torouter-web/tui/controllers/tor.py | 1 + packages/torouter-web/tui/controllers/tor.pyc | Bin 1419 -> 1662 bytes 7 files changed, 48 insertions(+), 13 deletions(-) (limited to 'packages/torouter-web/tui/controllers') diff --git a/packages/torouter-web/tui/controllers/__init__.pyc b/packages/torouter-web/tui/controllers/__init__.pyc index 8568b24..47771bf 100644 Binary files a/packages/torouter-web/tui/controllers/__init__.pyc and b/packages/torouter-web/tui/controllers/__init__.pyc differ diff --git a/packages/torouter-web/tui/controllers/main.py b/packages/torouter-web/tui/controllers/main.py index 2806467..7e1df50 100644 --- a/packages/torouter-web/tui/controllers/main.py +++ b/packages/torouter-web/tui/controllers/main.py @@ -1,14 +1,21 @@ import web import view, config from view import render +from tui.utils import session """ The main page for network configuration """ class index: def GET(self): - return render.base(render.index()) + if session.is_logged() > 0: + return render.base(render.index()) + else: + return render.base(render.login()) def POST(self): - return render.base(render.index()) + if session.check_login(web.input()) == 0: + return render.base(render.index()) + else: + return render.base(render.login()) diff --git a/packages/torouter-web/tui/controllers/main.pyc b/packages/torouter-web/tui/controllers/main.pyc index 8bd620b..6fb29f0 100644 Binary files a/packages/torouter-web/tui/controllers/main.pyc and b/packages/torouter-web/tui/controllers/main.pyc differ diff --git a/packages/torouter-web/tui/controllers/network.py b/packages/torouter-web/tui/controllers/network.py index 33e7f27..7022ca4 100644 --- a/packages/torouter-web/tui/controllers/network.py +++ b/packages/torouter-web/tui/controllers/network.py @@ -1,6 +1,7 @@ import web import view, config from view import render +from tui.utils import session """ This function is used to generate the network @@ -28,20 +29,34 @@ The main page for network configuration """ class main: def GET(self): - return render.base(render.main(),menu(0)) + if session.is_logged() > 0: + return render.base(render.main(),menu(0)) + else: + return render.base(render.login()) def POST(self): - return render.base(render.main(),menu(0)) + if session.is_logged() > 0: + return render.base(render.main(),menu(0)) + else: + return render.base(render.login()) """ The firewall configuration page """ class firewall: def GET(self): - return render.base(render.firewall(),menu(1)) + if session.is_logged() > 0: + return render.base(render.main(),menu(0)) + else: + return render.base(render.login()) def POST(self): - return render.base(render.firewall(),menu(1)) + if session.is_logged() > 0: + return render.base(render.firewall(),menu(1)) + else: + return render.base(render.login()) + + """ Wireless network configuration page @@ -78,23 +93,35 @@ class wireless: return True def GET(self): - if self.build_form(): - return render.base(render.wireless(self.form()),menu(2)) + if session.is_logged() > 0: + if self.build_form(): + return render.base(render.wireless(self.form()),menu(2)) + else: + return render.base(render.login()) def POST(self): - self.update_config(None) - print web.input() - return render.base(render.saved(web.input()),menu(2)) + if session.is_logged() > 0: + self.update_config(None) + print web.input() + return render.base(render.saved(web.input()),menu(2)) + else: + return render.base(render.login()) """ Wired network configuration page """ class wired: def GET(self): - return render.base(render.wired(),menu(3)) + if session.is_logged() > 0: + return render.base(render.wired(),menu(3)) + else: + return render.base(render.login()) def POST(self): - return render.base(render.wired(),menu(3)) + if session.is_logged() > 0: + return render.base(render.wired(),menu(3)) + else: + return render.base(render.login()) """ General status page, displays a bit more detail than main diff --git a/packages/torouter-web/tui/controllers/network.pyc b/packages/torouter-web/tui/controllers/network.pyc index 0fa3453..ba6e816 100644 Binary files a/packages/torouter-web/tui/controllers/network.pyc and b/packages/torouter-web/tui/controllers/network.pyc differ diff --git a/packages/torouter-web/tui/controllers/tor.py b/packages/torouter-web/tui/controllers/tor.py index 3b6116f..ca96209 100644 --- a/packages/torouter-web/tui/controllers/tor.py +++ b/packages/torouter-web/tui/controllers/tor.py @@ -1,6 +1,7 @@ import web import view, config from view import render +from tui.utils import session """ The main Tor status page diff --git a/packages/torouter-web/tui/controllers/tor.pyc b/packages/torouter-web/tui/controllers/tor.pyc index 21724c4..0c5e9f5 100644 Binary files a/packages/torouter-web/tui/controllers/tor.pyc and b/packages/torouter-web/tui/controllers/tor.pyc differ -- cgit v1.2.3