J'utilise Django REST cadre - et jusqu'à présent j'utilise la classe DjangoObjectPermissions
des autorisations. J'utilise django-rules
pour déterminer quels utilisateurs ont des autorisations pour les objets. Toutefois, cette classe d'autorisations semble refuser l'accès en lecture aux utilisateurs anonymes.
J'ai besoin de trouver le meilleur moyen d'autoriser l'accès en lecture seule à tous les utilisateurs (authentifiés ou non). Pour les ajouts, les modifications et les suppressions, les autorisations d'objets doivent être appliquées normalement.
Quelle est la meilleure approche pour résoudre ce problème? Django ne semble pas fournir d'autorisation can_view
par défaut. Cela peut impliquer l'ajout manuel d'une autorisation can_view
pour chaque modèle. Ou peut-être qu'il est préférable d'implémenter une classe d'autorisations DjangoObjectPermissionsOrAnonReadOnly
?
permission_classes = [permissions.IsAuthenticatedOrReadOnly, YourPermissionsHere] –
De la documentation Permission DRF, il semble que l'utilisateur doit disposer des autorisations dans toutes les classes d'autorisations pour que le chèque à passer? Donc, dans ce cas, 'IsAuthenticatedOrReadOnly' passerait mais' YourPermissionsHere' = 'DjangoObjectPermissions' échouerait? Est-ce correct? – Kieran
Oui. Toutes les classes d'autorisations doivent satisfaire. vous pouvez essayer la même chose. Ça devrait marcher. –