Quelqu'un pourrait-il me dire comment donner aux utilisateurs du personnel à Django (ceux avec is_staff définis sur True) Accès à certains modèles par défaut dans l'interface administrative? Actuellement, si je me connecte comme membre du personnel, je viens de recevoir "Vous n'avez pas la permission de modifier quoi que ce soit". Si je me connecte comme un super utilisateur, je reçois accès à plusieurs choses (celles enregistrées dans Admin.py). p>
Je voudrais essentiellement traiter les membres du personnel en tant que groupe et leur permettre de modifier une sélection de modèles ou de définir certaines autorisations comme défaut. J'ai parcouru la documentation en vain. p>
4 Réponses :
Ajouter admin.AutoDiscover () code> dans les fichiers URLS.PY.PY. P>
Vous pouvez créer un groupe et créer des membres de nouveaux employés. Ne pas donner aux autorisations par défaut est une fonctionnalité de sécurité. p>
Je vois. Merci. Je pense que ce serait bien s'il y avait un moyen de créer des autorisations par défaut. Il n'y aurait toujours pas d'autorisations par défaut, mais je serais en mesure de définir un ensemble de base d'autorisations que tous les utilisateurs du personnel obtiendraient. Ce serait aussi bien s'il y avait un moyen d'ajouter plusieurs utilisateurs à un groupe en même temps, à moins que je manque quelque chose.
Vous pouvez créer une gâchette sur la table utilisateur ou remplacer la méthode Model_Save () sur le modèle utilisateur. De cette façon, vous pouvez faire de nouveaux utilisateurs une partie du groupe automatiquement. Vous pouvez également créer une action administrative dans la classe d'administration de l'utilisateur qui rend les membres sélectionnés des membres du groupe.
Avez-vous écrit un backend d'authentification personnalisé? J'avais écrit celui-ci pour utiliser LDAP pour interfacer avec un système d'authentification existant et avoir le même problème que vous avec les utilisateurs «du personnel» qui ne sont pas permises à aucun des modèles. Les super-utilisateurs étaient bien, juste une problématique du personnel.
J'ai corrigé cela en superclassing Modelbackend dans ma classe d'authentification personnalisée: p> La classe ModelBackend a des fonctions requises pour déterminer Autorisations de niveau et de niveau utilisateur. P> Cet utilisateur fixe marqué comme "personnel" de ne pas pouvoir accéder à des modèles et m'a permis de contrôler l'accès à différents modèles via des groupes et des autorisations. P> P>
Pour ce faire, créez un groupe en groupe dans l'administrateur Django.
p>
Vous pouvez ajouter des autorisations de modèle en fonction des modèles que vous souhaitez que le personnel ou les utilisateurs aient accès à. P>
Une fois que cela est fait, ajoutez vos utilisateurs à ce groupe. Vous faites cela en sélectionnant l'utilisateur d'intérêt et en les ajoutant aux groupes créés.
p>
Une fois que cela est fait, cet utilisateur aura accès à tous ces modèles que le groupe a des autorisations sur. P>
Je ne peux pas voir ma liste de pompes de modèle personnalisée à l'écran jusqu'à ce que j'installe ce PYPI. Org / projet / Django-admin-View-permission