初始化

This commit is contained in:
2026-04-02 23:40:04 +08:00
commit 381ea7085d
107 changed files with 11858 additions and 0 deletions
@@ -0,0 +1,27 @@
"""权限检查中间件"""
from fastapi import HTTPException, Depends
from app.core.security import verify_token
ROLE_PERMISSIONS = {
'admin': ['*'],
'area_admin': ['device.view', 'device.check'],
'school_admin': ['device.view'],
'user': ['device.view']
}
def check_permission(required_permission: str):
def permission_checker(token: str):
payload = verify_token(token)
if not payload:
raise HTTPException(status_code=401, detail="未授权")
role = payload.get('role', 'user')
permissions = ROLE_PERMISSIONS.get(role, [])
if '*' in permissions or required_permission in permissions:
return payload
raise HTTPException(status_code=403, detail="权限不足")
return permission_checker