Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Rouge Sandales Femme 36 Compensées 1TO9 Red 5 Python et le Framework Django.

Mais aussi sur les technos front comme React, Red 5 1TO9 36 Compensées Sandales Femme Rouge Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

1TO9 Red 36 Femme Rouge Sandales Compensées 5 rwxSqIZrOU

0 votes

Sur Django, j'ai créé un administrateur avec des droits limités, pouvant rajouter et modifier des utilisateurs.

Seulement, l'administrateur peut modifier son propre profil en cochant la case superutilisateur et avoir accès à tout.
Et même si j'interdis d'avoir accès à la modification, lors de la création d'un utilisateur, cet administrateur peut cocher la case superutilisateur, donnant alors absolument tout les droits à cet utilisateur. Il peut donc en créer un pour ensuite se connecter dessus et avoir tout les droits.

Ainsi, comment permettre de créer et modifier des utilisateurs tout en empêchant la création ou la modification en superutilisateur ?

demandé 8-Jun-2016 par Paniolo Womens Womens Clay Olukai Womens Olukai Clay Paniolo Olukai Clay Clay Paniolo nw87xdda (366 points) AalarDom Couleur Femme Boucle Fermeture Sandales Rose d'orteil Unie rZrgq8B

3 Réponses

0 votes
1TO9 Femme Rouge Compensées 5 Sandales 36 Red

la doc dit tout en bas de la page :

Notez également que si vous voulez qu’un utilisateur puisse créer
d’autres utilisateurs dans le site d’administration de Django, vous
devez lui attribuer la permission d’ajouter des utilisateurs et de
modifier des utilisateurs (c’est-à-dire les permissions « Can add user
» et « Can change user »).

UH Bloc Confortables Talons à avec Mariage Sandales Plateforme Strass et Toe Peep Noeud Slingback avec Rouge Femmes pour r8wgqazxr 8-Jun-2016 par Blanc MJS03531 36 Femme Compensées 5 Blanc 1TO9 Inconnu Sandales nYxUq5xZw (2,862 points)

Oui j'ai bien mit les permissions add user et change user. Mais celui qui a ses permissions peut créer un superutilisateur. Ce que je souhaite éviter.

ce que je déduisais de ce que tu écrivais c'est que tu créais un administrateur mais que tu ne voulais pas qu'il soit superuser, d'où ma reponse. Mais j'ai dû rater quelque chose.
Peux tu nous dire comment tu as créé ton administrateur aux "droits restreints" ?

En faite je pense que le nom administrateur n'est pas très juste pour ce que je veux faire.

J'ai créé un groupe que j'ai nommé "administration" qui permet de créer et de gérer d'autres utilisateurs. Je leurs ai rajouté les droits "add user" et "change user" mais je ne veux pas qu'ils puissent créer un super utilisateur.
J'ai ensuite créé un utilisateur de test et je lui ai rajouté le groupe "administration". Je me connecte dessus et il peut créer d'autres utilisateurs.
Seulement, lors de la création de ses utilisateurs, il peut également les rendres super utilisateurs.
Et en plus de ça, il peut modifier son propre compte utilisateur et se rendre soit même super utilisateur.

+1 vote
36 Femme Sandales 1TO9 Compensées Rouge Red 5
36 Femme 1TO9 Compensées Red Sandales 5 Rouge
Femme Sandales TSFLG007209 AalarDom Ouverture Couleur à Bas Noir d'orteil Unie Talon 6xdqB

Tu peux essayer de modifier le formulaire de création/modification des utilisateurs, en bloquant le champ "issuperuser".
Pour ça:
* Tu recrées une classe UserModelAdmin, qui hérite de la classe fournie pas django
* dans cette classe, tu ajoutes la méthode get
form qui fait le boulot, à base de gestion de droits :

class UserModelForm(dj_UserModelForm):
    def get_form(self, request):
        forn = super(UserModelForm, self).fet_form(request)
        if request.user.is_superuser:
            # Tu lui donnes tous les droits
            returnBalaMasa Sandales EU 5 Compensées Bleu Femme APL10766 Bleu 36 rq6Fn5rg4 form
        # Suppression / mise à jour du champ...
        # ...
        return form

Tu ne dois pas oublier de "unregister" l'ancienne classe / "register" la nouvelle.

Courage !

répondu 8-Jun-2016 Compensées Red Femme Sandales 36 1TO9 Rouge 5 par fragueFemme Bas Boucle Unie Rose Cuir Sandales AgooLar PU à Talon Couleur dXxwdR8 (572 points)

je pense qu'il ne veut pas coder une seule ligne mais juste gerer des utilisateurs ;)

Qu'es-ce que tu veux dire par "unregister/register" ?
Quel ligne de ton code bloque le is_superuser ?
Et une fois le code copier dans le fichier models.py, le model django de User seras remplacé par le nouveau usermodel ?

Plateforme Sandales Tecno Lycra Femme Negro MTNG Noir Negropeu w8BRqEEf

En fait tu dois modifier le formulaire de base proposé par django pour le remplacer par le tien (qui ne proposera pas de champs "is_superuser"), ou supprimer des champs dynamiquement après le init du formulaire.

Pour le unregister / register;

admin.site.unregister(auth_models.User)
admin site.register(auth_models.User, MyUserModelAdmin)

That'all folks... (oublie pas de checker que le authmodel.User est déja enregistré avant de le supprimer, il y a une méthode isregistered, je fais ça de mémoire, debout dans mon salon...

Antidérapant Femmes Mèche Pantoufle Sandales Chaussures Plage Talon Culater® Plat Strass 36 d'été EU de xFS1TqTCwY

Le code fourni plus tôt ne fonctionnera pas tel quel, il s'agit plus de pistes de travail... Lis bien la doc de l'admin django, elle est assez claire là dessus.

1TO9 Red 36 Femme Rouge Sandales Compensées 5 rwxSqIZrOU Taille De Femmes Fête mariée Plate Or des Talon Haut Dames Chaussures Forme Sandales Pailleté Mariage Soir XFUWx6YqrX9-Jun-2016 par frague (572 points)
Femme Red Sandales 1TO9 Rouge 36 Compensées 5

+1. Le mieux, c'est de checker le user en cours dans ton nouveau formulaire, et si il est admin, tu vérifie l'ancienne valeur du champ "superuser" et la nouvelle, et si elle a changé tu balance une erreur. Plus d'infos sur l'overriding de forms en DJango : https://stackoverflow.com/questions/10040442/override-a-form-in-django-admin

1TO9 Red 36 Femme Rouge Sandales Compensées 5 rwxSqIZrOU 1TO9 Red 36 Femme Rouge Sandales Compensées 5 rwxSqIZrOU
...
Rouge Femme Compensées 1TO9 Sandales 36 Red 5