from flask import Flask from flask_login import current_user from flask_principal import AnonymousIdentity from flask_principal import Identity from flask_principal import Permission from flask_principal import Principal from flask_principal import RoleNeed from monsun_backend import models principals = Principal() @principals.identity_loader def read_identity_from_flask_login(): if current_user.is_authenticated: return Identity(current_user.id) return AnonymousIdentity() def init_app(app: Flask): principals.init_app(app=app) admin_permission = Permission(RoleNeed(models.RoleType.admin.name))