gmao/app_new/core/system_security.py

19 lines
550 B
Python
Raw Normal View History

2026-08-14 18:02:25 +02:00
"""Authorization helpers for operations that control host processes."""
from functools import wraps
from flask import abort
from flask_login import current_user, login_required
from .authorization import has_permission
2026-08-14 18:02:25 +02:00
def system_admin_required(view):
"""Restrict process-control operations to authenticated administrators."""
@wraps(view)
@login_required
def wrapped(*args, **kwargs):
if not has_permission("system.configure", current_user):
2026-08-14 18:02:25 +02:00
abort(403)
return view(*args, **kwargs)
return wrapped