J'ai besoin de certains utilisateurs pour éditer django.contrib.auth.models.User
objets.Est-il sûr d'accorder des autorisations "auth | User | Can change user" sans le drapeau "is staff"?
Ma première pensée a été de leur accorder la permission auth | User | Can change user
et de les marquer comme is staff
, afin qu'ils puissent se connecter au site Django Admin. Le problème est cependant, qu'ils peuvent utiliser cela pour se faire de super-administrateurs.
Puisque je veux qu'ils ne puissent éditer que certains champs, j'ai créé une vue très limitée pour cela. Ce qu'il me reste à faire, c'est d'accorder une permission sur cette vue à ce sous-ensemble d'utilisateurs. La seule solution que j'ai trouvée était de encore leur accorder la permission auth | User | Can change user
(sans les rendre staff
).
Ma question est la suivante:
Si j'utilise le @permission_required
décorateur sur ce point de vue en coopération avec la auth | User | Can change user
permission, est-il une autre façon pour les utilisateurs de pirater leur chemin en s'accordant le rôle super admin (même en supposant que l'utilisateur est un programmeur avancé de Django)? Je parle de choses comme e. g. Appels API que je ne connais pas, ou similaires.
Je souhaite éliminer les éventuelles erreurs dans mon code.