Flask-Principal是Flask框架的一个扩展,主要主件是Identity,Needs,Permission和IdentityContext。
- Identity:代表用户,从各个位置存储和加载每个请求,包含用户拥有的访问权限。
- Needs:需求是访问控制的最小粒度,代表了这种情况的具体参数。例如:管理用户、可以编辑帖子.
- Permission:权限
- IdentityContext:针对某个权限特定的上下文,可用作上下文管理器或装饰器
安装
pip install flask-principal
初始化
from flask_principal import Principal
principal = Principal()
principal.init_app(app)
权限管理
permissions.py
from flask-principal import Permission,RoleNeed
from functools import wraps
# 定义相关角色
NORMAL = "NORMAL"
ADMIN = "ADMIN"
ROLES = (
("NORMAL","普通用户"),
(