You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

24 lines
627 B

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))