Empêcher l'utilisateur de modifier son mot de passe

cyrillecyrille Member
Bonsoir,

Je compte faire le blog de mes élèves à la rentrée prochaine avec pluxml. Je ne veux pas faire de compte par élève mais un compte générique élève qui sera uniquement rédacteur, les élèves prendront le soin d'écrire leur nom à la fin de chaque article.

Sur le papier c'est parfaitement la solution qu'il me faut, seul bémol, je veux bloquer la possibilité de modification du mot de passe qui à mon sens devrait être gérée par l'administrateur dit le gars qui voulait appuyer sa requête pour ne pas me retrouver avec chaque gamin qui passe en train de changer le mot de passe.

Une solution ?

Merci !

Réponses

  • Bonjour,

    La plus simple serait de masquer les champs dans la partie admin en modifiant le fichier correspondant. Mais ça n'empêchera pas un petit curieux de contourner. Après tout dépend de la curiosité de vos élèves ;)

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour cyrille

    Pour le moment la seule solution que je peux te proposer et d'éditer le fichier core/admin/profil.php et de supprimer le code suivant
    <h2><?php echo L_PROFIL_CHANGE_PASSWORD ?></h2>
    <form action="profil.php" method="post" id="form_password">
    	<fieldset class="withlabel">
    		<p class="field"><label for="id_password1"><?php echo L_PROFIL_PASSWORD ?>&nbsp;:</label></p>
    		<?php plxUtils::printInput('password1', '', 'password', '20-255') ?>
    		<p class="field"><label for="id_password2"><?php echo L_PROFIL_CONFIRM_PASSWORD ?>&nbsp;:</label></p>
    		<?php plxUtils::printInput('password2', '', 'password', '20-255') ?>
    	</fieldset>
    	<p class="center">
    		<?php echo plxToken::getTokenPostMethod() ?>
    		<input class="button update" type="submit" name="password" value="<?php echo L_PROFIL_UPDATE_PASSWORD ?>" />
    	</p>
    </form>
    

    ça enlèvera la partie du formulaire qui permet aux utilisateurs de modifier leur mot de passe. c'est du brut de fonderie, pas très pratique pour les prochaines mise à jour de PluXml.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • zakar!zakar! Member
    juin 2012 modifié
    Ou tout simplement autoriser un groupe (Admin dans mon bout de code) a le faire:
    Remplacer :
    <h2><?php echo L_PROFIL_CHANGE_PASSWORD ?></h2>
    <form action="profil.php" method="post" id="form_password">
    	<fieldset class="withlabel">
    		<p class="field"><label for="id_password1"><?php echo L_PROFIL_PASSWORD ?>&nbsp;:</label></p>
    		<?php plxUtils::printInput('password1', '', 'password', '20-255') ?>
    		<p class="field"><label for="id_password2"><?php echo L_PROFIL_CONFIRM_PASSWORD ?>&nbsp;:</label></p>
    		<?php plxUtils::printInput('password2', '', 'password', '20-255') ?>
    	</fieldset>
    	<p class="center">
    		<?php echo plxToken::getTokenPostMethod() ?>
    		<input class="button update" type="submit" name="password" value="<?php echo L_PROFIL_UPDATE_PASSWORD ?>" />
    	</p>
    </form>
    
    <?php
    # Hook Plugins
    eval($plxAdmin->plxPlugins->callHook('AdminProfilFoot'));
    # On inclut le footer
    include(dirname(__FILE__).'/foot.php');
    ?>
    
    Par:
    <?php if($_SESSION['profil'] <= PROFIL_ADMIN) {
    echo '<h2>' .L_PROFIL_CHANGE_PASSWORD. '</h2>
    <form action="profil.php" method="post" id="form_password">
    	<fieldset class="withlabel">
    		<p class="field"><label for="id_password1">' .L_PROFIL_PASSWORD. '&nbsp;:</label></p>
    		'.plxUtils::printInput('password1', '', 'password', '20-255').'
    		<p class="field"><label for="id_password2">' .L_PROFIL_CONFIRM_PASSWORD. '&nbsp;:</label></p>
    		' .plxUtils::printInput('password2', '', 'password', '20-255'). '
    	</fieldset>
    	<p class="center">
    		' .plxToken::getTokenPostMethod(). '
    		<input class="button update" type="submit" name="password" value="' .L_PROFIL_UPDATE_PASSWORD. '" />
    	</p>
    </form>';
    }
    
    # Hook Plugins
    eval($plxAdmin->plxPlugins->callHook('AdminProfilFoot'));
    # On inclut le footer
    include(dirname(__FILE__).'/foot.php');
    ?>
    
    Le défaut est que les phrases sont décalé des input, mais bon ca marche.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bien vu zakar.
    Je préfére ta solution.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonsoir et merci pour vos réponses, j'avais trouvé la réponse de Stéphane par moi même mais je trouvais ça sale du fait de supprimer pour tout le monde je vais tester la solution de Zakar.
  • JoséJosé Member
    juillet 2012 modifié
    Bonsoir

    je suis confronté au même problème

    pourquoi ne pas mettre la condition dans l'affichage de la side-bar et masquer le menu Profil pour les rédacteurs

    j'essaierai bien , mais je ne trouve pas le code

    José



    Je reprends le message et je propose :
    if($_SESSION['profil'] != PROFIL_WRITER) {					
    	$menus[] = plxUtils::formatMenu(L_MENU_PROFIL, 'profil.php', L_MENU_PROFIL_TITLE);
    }
    
    dans le fichier : core/admin/top.php à la ligne 90
Connectez-vous ou Inscrivez-vous pour répondre.