This commit is contained in:
王思川 2022-11-08 10:09:34 +08:00
parent 44b0be87bb
commit 0debbccfb4
2 changed files with 8 additions and 3 deletions

View File

@ -1,4 +1,5 @@
import datetime import datetime
from typing import List
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from werkzeug.security import check_password_hash from werkzeug.security import check_password_hash
@ -148,7 +149,7 @@ def func04(refresh_token: str = Header(...), db: Session = Depends(get_db)):
return {"token": access_token} return {"token": access_token}
@router.get("/menu", summary="用户菜单") @router.get("/menu", summary="用户菜单", response_model=List[str])
def func04(token: str = Header(...), db: Session = Depends(get_db)): def func04(token: str = Header(...), db: Session = Depends(get_db)):
# 校验token # 校验token
decoded_token = TokenUtil.decode_token(token) decoded_token = TokenUtil.decode_token(token)
@ -159,5 +160,6 @@ def func04(token: str = Header(...), db: Session = Depends(get_db)):
if not role_id: if not role_id:
raise HTTPException(status_code=401, detail="Invalid Token") raise HTTPException(status_code=401, detail="Invalid Token")
role_list = RoleCrud.get_role_menu(db=db, role_id=role_id) role_menu_list = RoleCrud.get_role_menu(db=db, role_id=role_id)
return role_list
return [sub.subject for sub in role_menu_list]

View File

@ -43,6 +43,9 @@ def rbac(request: Request, token: Optional[str] = Header(...)):
req_url = request.url.__str__() req_url = request.url.__str__()
if sub == "管理员":
return True
for rap in raps: for rap in raps:
regex = rap.get("obj") regex = rap.get("obj")