This commit is contained in:
fengchuanhn@gmail.com
2026-05-17 12:54:13 +08:00
parent 1b8ca10ec9
commit 3db327d93b
38 changed files with 2820 additions and 14 deletions

View File

@@ -4,6 +4,7 @@ import redis.asyncio as redis
from fastapi import Depends, Header, HTTPException, status
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.roles import ROLE_ADMIN
from app.core.security import decode_access_token
from app.database import get_db
from app.models.user import User
@@ -52,3 +53,15 @@ async def get_current_user(
CurrentUser = Annotated[User, Depends(get_current_user)]
async def require_admin(current_user: CurrentUser) -> User:
if current_user.role_id != ROLE_ADMIN:
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="需要管理员权限",
)
return current_user
AdminUser = Annotated[User, Depends(require_admin)]