Dernières versions d'ovidentia

Derniers sujets du forum


RE:403 Access Forbidden
Aller à   
Rechercher
Auteur
Message Vue en arbre
Durafour Daniel
Posté le: Lun 15 Mai 2006 04:42
Sujet de la contribution: restriction d'accès aux articles ingérable

Re-bonjour

L'administrateur des articles d'un groupe (non membre du groupe lui-même) crée un thème d'article "Communication" (par exemple) et autorise les auteurs à "restreindre l'accès aux articles". Il donne ensuite des droits à 2 groupes :

  • profs pour consulter, écrire et gérer,
  • élèves pour consulter.

Plusieurs cas de figure se présentent selon la façon dont il a coché les cases attribuant les droits :

cas 1 : il a utilisé la case de gauche (par analogie avec ce qui se passe dans la gestion de fichiers - cf. doc sur les groupes en téléchargement - on peut supposer qu'il donne les droits aux membres du groupe choisi et à tous les membres des groupes enfants du groupe sélectionné, sans limite de profondeur). Lors de la création d'un article dans ce thème (rappel : l'auteur a le droit de publier mais n'a aucun droit de gestion sur les deux groupes), l'option "Restriction d'accès" apparaît mais n'est suivie d'aucun nom de groupe.

cas 2 : il a utilisé la case de droite (par analogie, on ne donne les droits qu'aux membres du groupe choisi). Lors de la création d'un article dans ce thème l'option "Restriction d'accès" apparaît suivie de deux cases à cocher sans qu'aucun nom de groupe y soit associé.

Il semble que le nom des groupes auxquels on peut limiter l'accès n'apparaisse que si on a un droit d'administration dessus...



Haut 
Durafour Daniel
Posté le: Ven 08 Septembre 2006 16:03
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Bonjour,

Ce problème, signalé en mai, persiste (test en local et sur Free) ; j'ai du mal à croire que personne ne l'a rencontré.

Ma structure de groupes est la suivante :    Utilisateurs d'Ovidentia
           Utilisateurs enregistrés
                  MUC2
                         et. MUC2
                         Profs MUC2
                                ProfsP MUC2
                                ProfsG MUC2
                  Webmestres
           Utilisateurs anonymes

DD est membre de MUC2, Profs MUC2, ProfsP MUC2.
Un administrateur (membre de Webmestres) crée un thème d'articles sur lequel il donne les droits suivants (en cochant les cases à droite) :    lire : et. MUC2, ProfsP MUC2, Webmestres
    soumettre : ProfsP MUC2, Webmestres
    commenter : personne
    modifier : personne
    gérer : ProfsP MUC2, Webmestres

ProfsP MUC2 et Webmestres ont donc strictement les mêmes droits sur le thème d'articles.

Si un membre de Webmestre crée un article dans le thème, il se voit proposer le choix des groupes. Le code html est le suivant :
    <input type="checkbox" value="11" name="grpids[]">&nbsp;MUC2&gt; Profs MUC2 &gt; ProfsP MUC2<br>    <input type="checkbox" value="3" name="grpids[]">&nbsp;Webmestres<br>    <input type="checkbox" value="15" name="grpids[]">&nbsp;MUC2&gt; Et. MUC2</td>Si un membre de ProfsP MUC2 crée un article, il voit trois cases à cocher sans sans leur intitulé ! Le code html, pour lui, est le suivant :    <input type="checkbox" value="11" name="grpids[]">&nbsp;<br>    <input type="checkbox" value="3" name="grpids[]">&nbsp;<br>    <input type="checkbox" value="15" name="grpids[]">&nbsp;</td>Qu'est-ce qui peut justifier cette différence ???Je précise que les vaeurs 11, 3 et 15 correspondent bien aux id des groupes à sélectionner dans la base.

Merci de répondre, pour donner une solution, confirmer, infirmer le problème...



Haut 
Alba Tros
Posté le: Sam 09 Septembre 2006 01:37
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Quelle version?

Ce bug a été déjà corrigé dans la version 5.6.5



Haut 
Durafour Daniel
Posté le: Sam 09 Septembre 2006 03:46
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Version d'Ovidentia :E-5.8.2
Version du moteur PHP :4.4.3-dev
Version de la base de données :5.0.25-nightly-20060823



Haut 
Durafour Daniel
Posté le: Sam 09 Septembre 2006 03:46
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Version d'Ovidentia :E-5.8.2
Version du moteur PHP :4.4.3-dev
Version de la base de données :5.0.25-nightly-20060823



Haut 
Durafour Daniel
Posté le: Jeu 12 Octobre 2006 05:28
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Je continue à tester avec une 5.8.2 (on verra la 6.0 plus tard, j'ai ouï dire qu'on y retrouvait le même comportement) et je vous signale (ça permettra peut-être d'avancer) le fait suivant en reprenant la structure précédemment exposée (post du 8/9/06) :

  • DD a plusieurs délégations dont une (groupes, articles, annuaires, gest. de fichiers) sur MUC2. Quand il veut publier un article en administrant un autre groupe que MUC2, il voit les cases à cocher sans leur intitulé.
  • S'il fait état de cette délégation (Administration/Changer d'administration) avant de rédiger son article, il voit les cases à cocher et uniquement les noms des groupes qu'il administre (enseignants, étudiants) dans le cadre de cette délégation (il ne voit pas webmestres).
  • RB fait partie des mêmes groupes  mais (tout comme l'administrateur) n'a pas de délégation sur MUC2 ni sur aucun goupe. Quand il veut publier un article, il voit les intitulés de tous les groupes. Si je supprime toutes ses délégations à DD, il voit les intitulés de tous les groupes.

Le pb viendrait donc de l'existence d'une délégation pour l'auteur de l'article.

En espérant lire une réponse (j'écris en vert, couleur de l'espoir   ;-) ).



Haut 
Durafour Daniel
Posté le: Jeu 12 Octobre 2006 12:59
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Bonsoir.

Testé en local (easyPHP 1.8.0.1 en serveur) sur une version 6.0. Je reproduis à volonté l'erreur indiquée en donnant délégation ou pas, en jouant sur les groupes délégués... Des choses ont certainement été corrigés dans la 5.6.5, mais le pb que je vous indique là est tout à fait réel. N'importe quel utilisateur peut le constater en faisant le test décrit dans mes messages.

Cordialement.



Haut 
Durafour Daniel
Posté le: Mar 28 Novembre 2006 12:16
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Il semblerait, au vu de queleques posts récents (au moins les 4 derniers, par exemple), que le team Cantico réponde dans le forum et identifie les bugs. Qu'en est-il de celui-ci (toutes les explications sur comment le reproduire dans le fil de discussion) signalé depuis le 15 mai. Est-il enfin reconnu (ou pas) ? Peut-on espérer une correction dans une prochaine version ?



Haut 
Durafour Daniel
Posté le: Jeu 03 Mai 2007 10:52
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Dans 12 jours, nous fêterons le 1er anniversaire de ce message... J'avais espéré que, bien qu'il n'ait jamais été reconnu, le bug serait corrigé dans la 6.3.3. Il n'en est rien...

Explications sur le pourquoi du comment :

  • Le nom des groupes à afficher dans le formulaire des propriétés de l'article est défini par la variable grpname.
  • Celle-ci est définie ligne 1254 de artedit.php par l'appel d'une fonction bab_getGroupName.
  • La fonction bab_getGroupName est définie ligne 1147 de addonapi.php et appelle (ligne 1152) une fonction getGroupPathName.
  • La fonction getGroupPathName est définie ligne 608 de utilit.php et instancie (ligne 617) un objet bab_grptree.
  • La classe bab_grptree est définie ligne 27 de grptreeincl.php.
  • En ligne 44, on teste if ($babBody->currentAdmGroup > 0).
  • La réponse est "oui" puisque l'utilisateur a une délégation.
  • En conséquence, firstnode est déplacé au niveau le plus élevé du groupe géré $this->firstnode = $babBody->currentDGGroup['id_group'].
  • Seuls les noms des groupees gérés apparaissent donc.

CQFD.

Proposition de solution:

Annulation de la ligne 1254 de artedit.php.
Insertion à la place du code suivant:
  //remplacement de la définition de grpname (rectification du bug "restriction d'accès aux articles ingérable")
  $sql="select g.name from ".BAB_GROUPS_TBL." g where g.id='".$this->grpid."'";
  $query=mysql_query($sql);
  //vérifier qu'au moins un enregistrement existe
  if (!$query) { $this->grpname=''; }//erreur dans la requête
  else {
    $result=mysql_fetch_assoc($query);
    $this->grpname=$result['name'];
  }
  //fin de la rectification du bug "restriction d'accès aux articles ingérable"

Sûrement pas la solution la plus respectueuse des normes ovidentiennes mais au moins ça tourne.

Toujours dans l'espoir (dans l'attente) d'une solution officielle (et d'une réaction des lecteurs de ce forum qui n'ont apparemment jamais rencontré le pb)...



Haut 
Noureddine Ayachi
Posté le: Mar 15 Mai 2007 17:40
Sujet de la contribution: RE:restriction d'accès aux articles ingérable

Effectivement c'est bien un bug. ( Enfin ;-))

Les groupes de restriction d'un article n'ont rien à voir avec les groupes de la délégation en cours.

Je m'explique: un utilisateur ( dans notre cas un administrateur délégué ) qui gère sa délégation peut avoir le droit de visibilité sur un thème d'article défini en dehors de sa délégation et donc, s'il y'a restriction, il doit avoir la visibilité des groupes définis en dehors de sa délégation pour restreindre la visibilité de l'article.

Or aujourd'hui on filtre les groupes en n'autorisant uniquement que les groupes créés dans la délégation.

Une solution rapide ( pour la version 6.3.3 ) serait de changer la ligne 1254 du fichier artedit.php en

$this->grpname = bab_getGroupName($arr['id_group'], false);

L'inconvénient de cette solution est que l'on ne distingue pas les groupes de mêmes noms situés à des niveaux différents.

Noureddine



Modifié Mar 15 Mai 2007 18:05

Haut 
Aller à   
Rechercher
Up