Autorisations avancées (2)
Vous n'avez pas le niveau requis !
Support des Modules
test Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre test
- Inscrit le : 01/07/2016
Je crois avoir noté une autre erreur liée aux autorisations avancées et indépendante du Bug #1614 reporté dans mon précédent message.
Encore une fois je l'ai testé sur une installation dernière version (5.0.6) de phpboost, ainsi que sur le site de démonstration http://demo.phpboost.com
Dans les deux cas, j'ai pu reproduire l'erreur.
Pour la reproduire, sur http://demo.phpboost.com par exemple :
Dans le module Forum / Gérer les catégories
- Editer le "Forum de test" et accorder des autorisations avancées en lecture et en écriture pour member1
- Editer la "Catégorie de test" et accorder les autorisations de lectures pour les rangs Membre, Modérateur et Administrateur, mais pas pour le rang Visiteur
Ensuite se connecter en tant que member1
Le Forum de test est visible, mais si on tente d'entrer dedans, un message d'erreur apparait :
Vous n'avez pas le niveau requis !
Le bug ne se manifeste pas si, dans les paramètres de la catégorie, nous ajoutons les autorisations de lecture pour le rang Visiteur.
Il ne se présente que lorsque le rang Visiteur n'est pas sélectionné.
Or cela devrait etre totalement indépendant, car Member1 n'est pas un Visiteur.
Cordialement,
Édité par test Le 07/07/2016 à 15h21
test Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre test
- Inscrit le : 01/07/2016
forum/services/ForumAuthorizationsService.class.php
J'ai tenté d'afficher le contenu de la variable $auth ligne 83 (dans la fonction is_authorized), dans les deux cas de figure, c'est à dire avec et sans le rang de Visiteur en autorisation de lecture dans la catégorie.
Je constate que le résultat affiché dans les deux cas lors de la tentative d'accès au "Forum de test" (c.f. exemple du message ci-dessus), montre que le contenu de la variable est très différent
Dans le premier cas (le rang Visiteur est configuré pour avoir accès en lecture a la catégorie)
Extrait de la variable $auth pour Member1, id de membre : 6
1 [m6]
Dans le second cas (le rang Visiteur est configuré pour ne PAS avoir accès en lecture a la catégorie)
Extrait de la variable $auth pour Member1, id de membre : 6
0 [m6]
Or, sauf erreur de ma part, dans les deux cas cela devrait etre a 1.
Le fait que Member1 ai accès ou non a un forum ne doit normallement pas dépendre de la configuration du rang de Visiteur.
En investiguant plus en profondeur, il me semble que le coeur du problème se situe dans le fichier suivant :
kernel/framework/phpboost/member/authorization/Authorizations.class.php
Quelque part dans la fonction merge_auth
Mais cette fonction apparait complexe dans son fonctionnement et je n'arrive pas a trouver avec précision quelle ligne est potentiellement en cause.
Édité par test Le 07/07/2016 à 15h53
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Je regarde quand j'ai le temps.
En attendant merci de détailler le problème le plus clairement possible dans le bugtracker svp.
test Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre test
- Inscrit le : 01/07/2016
Merci pour votre réponse.
Le bug a été ajouté dans le bug tracker :
<a href="/bugtracker/detail/1620-forum-autorisations-avancees">Bug #1620</a>
Cordialement,
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie