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
2024-12-08 12:17:19 +03:00

23 lines
760 B
Python

from functools import wraps
from flask import (current_app, redirect, render_template, request, session,
url_for)
def check_auth(func):
@wraps(func)
def wrapper(*args, **kwargs):
if "login" not in session:
return redirect(url_for("auth_bp.auth"))
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