From 4730452ec0f922a8bb26690e5262efa3bb56f4eb Mon Sep 17 00:00:00 2001 From: LV-426 Date: Tue, 2 Dec 2014 02:07:23 +0200 Subject: REST /login,/logout paths --- src-py/rhizi_api.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src-py/rhizi_api.py b/src-py/rhizi_api.py index 7391c90f..8df36b56 100644 --- a/src-py/rhizi_api.py +++ b/src-py/rhizi_api.py @@ -192,4 +192,34 @@ def monitor__server_info(): "time: " + dt.strftime("%H:%M:%S") + "
" + \ "

" +def index(): + return render_template('index.html') +def login(): + + def sanitize_input(req): + req_json = request.get_json() + u = req_json['username'] + p = req_json['password'] + return u, p + + if request.method == 'POST': + try: + u, p = sanitize_input(request) + crypt_util.validate_login(flask.current_app.rz_config, u, p) + except Exception as e: + log.warn('login: unauthorized: user: %s' % (u)) + abort(401) + + # login successful + session['username'] = u + log.debug('login: success: user: %s' % (u)) + return redirect('/index') + + if request.method == 'GET': + return render_template('login.html') + +def logout(): + # remove the username from the session if it's there + session.pop('username', None) + return redirect(url_for('login')) -- cgit v1.3.1