This repository has been archived on 2025-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
RIS/App/checker.py

26 lines
883 B
Python

from flask import redirect, url_for, session, request, current_app, render_template
from functools import wraps
def check_auth(func):
@wraps(func)
def wrapper(*args, **kwargs):
if 'login' not in session:
return redirect(url_for('auth_bp.auth'))
return func(*args, **kwargs)
return wrapper
def group_required(func):
@wraps(func)
def wrapper(*args, **kwargs):
user_role = session.get('role')
user_request = request.endpoint
print('request_endpoint=', user_request)
user_bp = user_request.split('.')[0]
access = current_app.config['db_access']
if user_role in access and user_bp in access[user_role]:
return func(*args, **kwargs)
else:
return render_template('error.html', error_message='Недостаточно прав')
return wrapper