Permissions

Classes de permissions personnalisées pour l’API des Jeux Olympiques.

Ce module définit les permissions spécifiques selon les rôles des utilisateurs : admin, employé et client, avec différents niveaux d’accès aux ressources.

class authentication.permissions.IsAdmin

Bases : BasePermission

Permission pour les administrateurs uniquement.

Accorde l’accès uniquement aux utilisateurs authentifiés ayant le rôle admin. Utilisée pour les opérations sensibles nécessitant les plus hauts privilèges.

has_permission(request, view)

Vérifie si l’utilisateur a les permissions d’administrateur.

Paramètres:
  • request – La requête HTTP

  • view – La vue appelée

Renvoie:

True si l’utilisateur est admin authentifié, sinon False

Type renvoyé:

bool

class authentication.permissions.IsAdminOrAuthenticatedReadOnly

Bases : BasePermission

Permission pour admin (accès complet) ou utilisateurs authentifiés (lecture seule).

  • Les administrateurs ont un accès complet.

  • Les autres utilisateurs authentifiés ne peuvent que consulter les données (méthodes GET, HEAD, OPTIONS).

has_permission(request, view)

Vérifie les permissions selon le rôle et la méthode HTTP.

Paramètres:
  • request – La requête HTTP

  • view – La vue appelée

Renvoie:

True si autorisé selon le rôle et la méthode, sinon False

Type renvoyé:

bool

class authentication.permissions.IsAdminOrEmploye

Bases : BasePermission

Permission pour les administrateurs et employés uniquement.

Accorde l’accès aux utilisateurs authentifiés ayant les rôles admin ou employe. Exclut les clients et utilisateurs anonymes.

has_permission(request, view)

Vérifie si l’utilisateur est admin ou employé.

Paramètres:
  • request – La requête HTTP

  • view – La vue appelée

Renvoie:

True si l’utilisateur est admin ou employé, sinon False

Type renvoyé:

bool