HttpSaufion(status_code=status.HTTP_401_UNAUTHORIZED, detail="Pas assez d'autorisations",headers={"WWW-Authenticate": Authenticate_value}) Généralement parce que l’utilisateur demandeur ne dispose pas des autorisations suffisantes pour effectuer l’opération. Cela peut être dû au fait que l'utilisateur n'est pas connecté, que la connexion a expiré ou que l'utilisateur ne dispose pas des autorisations suffisantes pour accéder à la ressource.
Cette erreur peut être générée dans votre code en lançant HTTPException, ou elle peut être causée par des autorisations utilisateur insuffisantes demandées.
Normalement, vous devez vérifier dans la fonction de routage si les autorisations de l'utilisateur demandeur sont suffisantes, et sinon, lever cette exception.
Par exemple :
from fastapi import FastAPI, HTTP
WordBearer
app = Fastapi () # définir le schéma de sécurité OAUTH2PASSWORDBEARER (tokenurl = "/token") @app .post("/items/. ")async def create_item(item: Item,Authorization: str = Depends(oauth2_scheme)):if not check_user_has_permission(Authorization):raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail ="Pas assez d'autorisations", headers={"WWW-Authenticate": Authenticate_value})return {"item": item}在上面的示例中,我们使用 OAuth2PasswordBearer 来验证请求用户是否已经登录,并在路由函数中使用 check_user_has_permission 检查请求用户是否有权限访问该资源,如果用户权限不足,将会抛出 HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Not enough permissions",headers={"WWW-Authenticate": authenticate_value}) 这只是一个简单的示例,具体实现还需根据项目具体需求来实现。
from fastapi import FastAPI, HTTPException, Depends from fastapi.security import OAuth2PasswordBearer app = FastAPI() # define the security scheme for the api oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/token") @app.post("/items/") async def create_item(item: Item, Authorization: str = Depends(oauth2_scheme)): if not check_user_has_permission(Authorization): raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Not enough permissions",headers={"WWW-Authenticate": authenticate_value}) return {"item": item}
base de données
ou lire le rôle de l'utilisateur dans le jetonJwt. Si l'utilisateur dispose d'autorisations insuffisantes, une HTTPException sera levée, une réponse avec le code d'état 401 sera renvoyée et le champ WWW-Authenticate sera défini dans l'en-tête de la réponse. De cette manière, le navigateur ou le client peut reconnaître que l'utilisateur doit se reconnecter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!