Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/module_admin/aspect/interface_auth.py
2024-01-22 23:46:27 +08:00

20 lines
754 B
Python

from fastapi import Depends
from module_admin.entity.vo.user_vo import CurrentUserModel
from module_admin.service.login_service import LoginService
from utils.response_util import PermissionException
class CheckUserInterfaceAuth:
"""
校验当前用户是否具有相应的接口权限
"""
def __init__(self, perm_str: str = 'common'):
self.perm_str = perm_str
def __call__(self, current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
user_auth_list = current_user.permissions
user_auth_list.append('common')
if '*:*:*' in user_auth_list or self.perm_str in user_auth_list:
return True
raise PermissionException(data="", message="该用户无此接口权限")