ACL : créer un niveau d'accès sur 'non membre d'un groupe'

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] ACL : créer un niveau d'accès sur 'non membre d'un groupe'

    Bonsoir à tous.

    Je cherche à créer un niveau d'accès sur membre du groupe 'enregistré', et non membre du groupe 'enregistré avec option A'.

    Quand les membre 'enregistrés' choisissent l'option A via un composant type CBSubs par exemple, il deviennent membre du groupe 'enregistré avec option A' mais restent membre du groupe 'enregistré' bien sûr.

    L'idée est de ne plus proposer un lien de menu proposant la sélection de l'option A quand un membre enregistré la possède déjà.

    Il n'y a pas d'évènement interceptable que niveau du calcul des droit d'accès permettant la création d'un plugin pour générer un droit d'accès 'à la volée'.
    Ou peut être onAfterGetMenuTypeOptions mais quid de la documentation ??

    Donc si quelqu'un a une idée simple je suis preneur...
    ...car à part faire une petite usine à gaz je ne vois pas trop la solution.
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

  • #2
    Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

    Bonjour,

    C'est un peu le principe de "public" et "invité"(guest) pour le menu Connexion/Déconnexion que vous souhaitez implémenté au niveau enregistré et au dessus ou je n'ai pas compris.

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

      Envoyé par pmleconte Voir le message
      Bonjour,

      C'est un peu le principe de "public" et "invité"(guest) pour le menu Connexion/Déconnexion que vous souhaitez implémenté au niveau enregistré et au dessus ou je n'ai pas compris.

      Pascal
      Bonjour Pascal.

      Je pense que tu veux dire entre public et enregistré (invité je ne sais pas ce que c'est) dans les parametres du menu 'Utilisateurs'.

      Le réponse est oui et non

      C'est le Core de Joomla qui à l'identification place le membre dans son groupe en créant la classe adéquate.

      Dans le cas du visiteur non identifié, le groupe qui lui est attribué est celui défini comme 'groupe des visiteurs' dans les paramètres.

      A l'inscription le nouveau membre est crée dans le groupe par défaut figurant dans le paramètre 'Groupe des Inscrits'.
      Ce dernier n'est généralement pas fils du groupe des visiteur.
      Ça c'est l'opération automatique prévue par Joomla (sauf bien sûr paramétrage différent dans des composants spécifiques gérant les inscriptions CB, Joomsocial, etc...)
      Ensuite l'administrateur (ou des composants) peuvent le changer de groupe ou le placer dans d'autres groupes d'utilisateurs.


      Donc au login, Joomla sort le membre du groupe des visiteurs (ou plutôt ne ne place pas dans ce groupe) et le place dans les groupes définis pour cet utilisateur.

      Il est donc effectivement facile d'avoir des liens de menus spécifique aux visiteurs, non identifiés et d'autres aux membre identifiés.

      Ça c'est le fonctionnement que tu évoques.

      Mais dans mon cas le membre du groupe 'enregistré avec option A' reste aussi dans le groupe parent 'enregistré'.

      Afin de ne pas lui proposer indéfiniment le lien de menu 'prendre l'option A' (alors qu'il possède déjà cette cette option),
      j'aimerai créer un niveau d'accès spécifique pour l'appliquer à ce lien de menu.
      Ce niveau étant : groupe enregistré sauf groupe enregistré option A'

      C'est pour cela que je trouve qu'il manque une option 'négative' dans la définition des niveaux d'accès.

      Dans un niveau d'accès, lors du choix des groupes d'utilisateurs, au lieu d'une case à cocher il devrait y avoir un bouton ou une liste déroulante avec 3 options
      • groupe d'utilisateur non sélectionné
      • inclure le groupe d'utilisateur
      • exclure le groupe


      Je ne trouve pas d'outil pour faire cela, et de toutes façons je ne vois pas comment l'instancier dans le core sans hack.

      Je pensais à développer un plugin, mais je ne pense pas qu'il y a un trigger prévu pour cela (au niveau du calcul du niveau d'accès).

      C'est pour cela que je cherche des idées.
      Dernière édition par roland_d_alsace à 01/10/2016, 11h29
      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
      Rejoignez le Joomla Users Groupe Alsace...
      roland_d_alsace va-t-il devenir roland_du_grand_est ?

      Commentaire


      • #4
        Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

        La notion d'invité est une notion qui fait souvent débat (par exemple: http://forum.joomla.fr/showthread.ph...light=invit%E9).

        C'est utilisé pour faire la différence entre public et enregistré (affichage du menu Connexion au public qui disparaît quand on est enregistré: donc, Connexion est associé à un accès Invité et disparaît dès que l'on passe au statut Enregistré).

        Dans ton cas, j'ai fait un essai en ajoutant un accès "Enregistré Plus" et j'ai créé un groupe "Enregistré avec option" qui a pour parent le groupe "Enregistré". Après, j'ai mis un utilisateur dans ce nouveau groupe et j'ai mis un menu en accès "Enregistré Plus". Ce menu apparaît pour les "enregistrés plus" et pas pour les enregistrés. De plus, les "enregistrés plus" voient aussi ce que les enregistrés voient.

        En espérant que j'ai été clair, parce que toutes ces notions d'accès/groupes/utilisateurs/menus sont pas vraiment évidentes,

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

          Après un nouvel essai, tu veux faire l'inverse : faire disparaître le menu "en trop". Je fais un essai et je reviens.

          Pascal
          If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

            Encore moi.

            Pour obtenir ton fonctionnement, j'ai créé un 2ème accès : "Enregistré moins" et un groupe "Enregistré sans option" qui a pour parent "Enregistré" (je l'ai mis en groupe par défaut à la création des utilisateurs).

            Mes nouveaux utilisateurs appartiennent donc aux groupes Enregistré et Enregistré sans option.

            Donc, mon fameux menu a maintenant un accès "Enregistré moins". Les enregistrés sans option voient donc ce menu. Dès qu'ils passent à "Enregistré plus", ce menu disparaît et ils ont toujours accès à tout le reste.

            En espérant que cela aide sans aucun développement,

            Pascal

            ps: pour la différenciation Invité et Enregistré, on a aussi la création de 2 accès (accès invité et accès enregistré).
            Dernière édition par pmleconte à 01/10/2016, 13h03
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

              Envoyé par pmleconte Voir le message
              La notion d'invité est une notion qui fait souvent débat (par exemple: http://forum.joomla.fr/showthread.ph...light=invit%E9).

              C'est une question de terminologie.

              Pour moi un invité, c'est un internaute du groupe public qui a été invité...

              A cet effet, il m'est arrivé d’écrire un plugin système qui change le groupe 'public' selon sa provenance (cas d'un site spécifique renvoyant vers un autre..
              On peut alors parler d'invité (car il y eu parrainage, par le site d'origine qui envoie du trafic).

              Envoyé par pmleconte Voir le message
              C'est utilisé pour faire la différence entre public et enregistré (affichage du menu Connexion au public qui disparaît quand on est enregistré: donc, Connexion est associé à un accès Invité et disparaît dès que l'on passe au statut Enregistré).
              Oui, c'est d'un usage courant (c'est un des gros atouts de Joomla)

              J'ai des sites avec de nombreux éditeurs, avec des très nombreuses déclinaisons de groupe d'utilisateur et donc de niveau d'accès, profils JCE, avec leurs dossiers de download, etc...

              Envoyé par pmleconte Voir le message
              Dans ton cas, j'ai fait un essai en ajoutant un accès "Enregistré Plus" et j'ai créé un groupe "Enregistré avec option" qui a pour parent le groupe "Enregistré". Après, j'ai mis un utilisateur dans ce nouveau groupe et j'ai mis un menu en accès "Enregistré Plus". Ce menu apparaît pour les "enregistrés plus" et pas pour les enregistrés. De plus, les "enregistrés plus" voient aussi ce que les enregistrés voient.
              C'est justement ce dernier point que j'aimerai éviter.
              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
              Rejoignez le Joomla Users Groupe Alsace...
              roland_d_alsace va-t-il devenir roland_du_grand_est ?

              Commentaire


              • #8
                Re : ACL : créer un niveau d'accès sur 'non membre d'un groupe'

                Envoyé par pmleconte Voir le message
                Encore moi.

                Pour obtenir ton fonctionnement, j'ai créé un 2ème accès : "Enregistré moins" et un groupe "Enregistré sans option" qui a pour parent "Enregistré" (je l'ai mis en groupe par défaut à la création des utilisateurs).

                Mes nouveaux utilisateurs appartiennent donc aux groupes Enregistré et Enregistré sans option.

                Donc, mon fameux menu a maintenant un accès "Enregistré moins". Les enregistrés sans option voient donc ce menu. Dès qu'ils passent à "Enregistré plus", ce menu disparaît et ils ont toujours accès à tout le reste.
                ....
                Merci pour tes recherches Pascal.

                Pour que cela fonctionne ceci impose aussi de sortir le membre de ton groupe 'enregistré moins' quand il opte pour une option,
                ...et aussi de le réintroduire quand il perd l'option, sinon il n'est plus dans aucun groupe ...

                C'est bien cette sortie de groupe que je souhaite éviter.

                Nativement les composants de souscription que je connais ne le font pas.
                Ils permettent de rajouter un membre dans un groupe durant la durée de l'option et de le sortir in fine.

                Je souhaitais éviter un plugin 'autoaction' qui ferait cette cuisine de désinscription/réinscription au groupe standard des 'enregistrés (sans options)' à la souscription et à son échéance.
                C'est 'l'usine à gaz' dont je parlais dans mon 1er post et que je souhaite éviter...

                Ce qui fait que je privilégiais cette piste.

                Avoir un système de 'négation' dans la gestion des niveaux d'accès me paraissait simple, et intéressante globalement dans le cadre du fonctionnement des niveaux d'accès.
                Dernière édition par roland_d_alsace à 01/10/2016, 14h08
                A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                Rejoignez le Joomla Users Groupe Alsace...
                roland_d_alsace va-t-il devenir roland_du_grand_est ?

                Commentaire

                Annonce

                Réduire
                1 sur 2 < >

                C'est [Réglé] et on n'en parle plus ?

                A quoi ça sert ?
                La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                Comment ajouter la mention [Réglé] à votre discussion ?
                1 - Aller sur votre discussion et éditer votre premier message :


                2 - Cliquer sur la liste déroulante Préfixe.

                3 - Choisir le préfixe [Réglé].


                4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                2 sur 2 < >

                Assistance au forum - Outil de publication d'infos de votre site

                Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                UTILISER À VOS PROPRES RISQUES :
                L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                Problèmes connus :
                FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                Installation :

                1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                Archive zip : https://github.com/AFUJ/FPA/zipball/master

                2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                et remplacer www. votresite .com par votre nom de domaine


                Exemples:
                Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/
                Pour executer le script: http://www..com/fpa-fr.php

                Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/cms/
                Pour executer le script: http://www..com/cms/fpa-fr.php

                En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                Voir plus
                Voir moins

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X