Added admin_auth for apps independent of admin_app
This commit is contained in:
parent
779605ee7c
commit
f689dc5f63
4 changed files with 145 additions and 9 deletions
48
paramecio2/modules/admin/libraries/admin_auth.py
Normal file
48
paramecio2/modules/admin/libraries/admin_auth.py
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
from flask import g, request, redirect, session, url_for
|
||||
from paramecio2.libraries.db.webmodel import WebModel
|
||||
from settings import config
|
||||
|
||||
def admin_prepare():
|
||||
|
||||
g.connection=WebModel.connection()
|
||||
|
||||
if request.endpoint!='admin_app.login' and request.endpoint!='admin_app.signup' and request.endpoint!='admin_app.need_auth' and request.endpoint!='admin_app.auth_check':
|
||||
|
||||
if 'login_admin' not in session:
|
||||
|
||||
if 'remember_login_admin' in request.cookies:
|
||||
|
||||
with g.connection.query('select count(id) as count_id from useradmin where token_login=%s', [request.cookies['remember_login_admin']]) as cursor:
|
||||
|
||||
arr_count=cursor.fetchone()
|
||||
|
||||
if arr_count['count_id']==0:
|
||||
|
||||
url_redirect=config.domain_url+url_for('admin_app.login', _external=False)
|
||||
|
||||
return redirect(url_redirect)
|
||||
else:
|
||||
|
||||
session['login_admin']=True
|
||||
|
||||
else:
|
||||
|
||||
url_redirect=config.domain_url+url_for('admin_app.login', _external=False)
|
||||
|
||||
return redirect(url_redirect)
|
||||
else:
|
||||
|
||||
#print(session['verify_auth'])
|
||||
if request.endpoint!='admin_app.logout':
|
||||
|
||||
if not session.get('verify_auth', True):
|
||||
|
||||
url_redirect=config.domain_url+url_for('admin_app.need_auth', _external=False)
|
||||
|
||||
return redirect(url_redirect)
|
||||
|
||||
def admin_finished(response):
|
||||
|
||||
g.connection.close()
|
||||
|
||||
return response
|
||||
Loading…
Add table
Add a link
Reference in a new issue