Projet

Général

Profil

Anomalie #3069

autorisations

Ajouté par chan kalan il y a plus de 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
Début:
02/10/2013
Echéance:
% réalisé:

100%

Resolution:
Navigateur:

Description

relaté dans le carnet ici http://contrib.spip.net/Autorisations-Dans-Spip
-> On veut permettre aux administrateurs restreints de modifier le login et mot de passe des visiteurs -> voir la fonction autoriser_auteur_modifier_dist - http://core.spip.org/projects/spip/repository/entry/branches/spip-3-stable/ecrire/inc/autoriser.php#L739 et principalement à cette partie du code ligne 763 :

elseif ($opt['statut'] == '0minirezo' OR $opt['restreintes'])
                        return false;

surchargée par :

elseif ($opt['statut'] == '0minirezo')
                        return false;


Pourquoi le fait de retirer
OR $opt['restreintes']

permet-il de modifier le login et mot de passe ?

Révisions associées

Révision 21472 (diff)
Ajouté par cedric@yterium.com il y a plus de 4 ans

Ferme #3069 : l'autorisation utilisee pour tester le droit de modifier login/pass n'utilisait pas la bonne option. $opt['restreintes'] permet de tester le droit a modifier les rubriques restreintes alors que $opt['email'] permet de tester le droit a modifier le login/email.

Révision 21475 (diff)
Ajouté par cedric@yterium.com il y a plus de 4 ans

Report de r21472 : Ferme #3069 : l'autorisation utilisee pour tester le droit de modifier login/pass n'utilisait pas la bonne option. $opt['restreintes'] permet de tester le droit a modifier les rubriques restreintes alors que $opt['email'] permet de tester le droit a modifier le login/email.

Historique

#1 Mis à jour par b b il y a plus de 5 ans

Je ne comprends pas trop, c'est un rapport de bug ou juste une question ?

#2 Mis à jour par chan kalan il y a plus de 5 ans

C'est une question soulevée par un comportement qui me parait obscure. Je ne sais pas si c'est un bug.

#3 Mis à jour par b b il y a plus de 5 ans

Ce comportement vient de ce test dans formulaire_editer_auteur.php :

http://core.spip.org/projects/spip/repository/entry/spip/prive/formulaires/editer_auteur.php#L91

Le test sur autoriser se voit passer un argument array('restreintes'=>true) qui à mon avis est la source de ce comportement. De fait, un admin restreint ne peut modifier le login ou le passe d'un visiteur. en retirant l'option en question de l'appel à autoriser, le "bug" est corrigé.

Cette modification a été introduite il y a 4 ans par r14595 et le log de commit ne permet pas de comprendre si c'est une erreur ou si c'est voulu...

#4 Mis à jour par guytarr ° il y a plus de 5 ans

On retrouve des traces plus anciennes...
amusant : r8656 introduit autoriser_auteur_modifier_dist mais ne l'utilise pas ?

Pour les admins restreints, r8659 introduit ce test dans autoriser ($opt['restreintes']) mais je n'ai pas compris comment c'est utilisé
http://core.spip.org/projects/spip/repository/revisions/8659/entry/spip/ecrire/action/editer_auteur.php#L212
$opt = array('restreint'=>$restreintes) c'est pas pareil que $opt = array('restreintes'=>true) ?

A partir de r9856 on a bien array('restreintes'=>true) qui est utilisée
http://core.spip.org/projects/spip/repository/revisions/9856/entry/spip/ecrire/action/editer_auteur.php#L80

Sans cette condition, le script dit que l'admin restreint peut faire tout ce qu'il veut pour cette autorisation tant qu'il ne touche pas à un statut 0minirezo ou qu'il ne tente pas de promouvoir un auteur admin (via le test $opt['statut'] == '0minirezo')

Par conséquent, il peut modifier login et pass pour les visiteurs et redacteurs (et autres s'il en existe).

On peut fermer le ticket ?

#5 Mis à jour par b b il y a environ 5 ans

Non on ne peut pas le fermer car justement un admin restreint ne peut pas modifier le login et pass d'un visiteur :p

#6 Mis à jour par b b il y a environ 5 ans

Et hop, j'ai ajouté Cedric en observateur pour qu'il nous donne son avis sur cette question :

Cette modification a été introduite il y a 4 ans par r14595 et le log de commit ne permet pas de comprendre si c'est une erreur ou si c'est voulu...

:)

#7 Mis à jour par cedric - il y a plus de 4 ans

  • Statut changé de Nouveau à Fermé
  • % réalisé changé de 0 à 100

Appliqué par commit r21472.

Formats disponibles : Atom PDF