ACL - 1 groupe d'utilisateurs pour 1 catégorie d'articles.

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

  • ACL - 1 groupe d'utilisateurs pour 1 catégorie d'articles.

    Bonjour
    Je sais limiter l'accès en admin à une seule catégorie d'articles à un groupe d'utilisateurs, mais ça peut devenir très fastidieux quand il y a de très nombreuses catégories, car on doit supprimer tous les droits pour ce groupe d'utilisateur à toutes les autres catégories, ainsi qu'aux composants, modules, plugins ...

    Comment faire pour que quand le super user crée un nouveau groupe d'utilisateurs, et donc une nouvelle catégorie d'articles, automatiquement tous les utilisateurs de ce groupe n'auront accès QUE à cette catégorie, et à rien d'autre (aucun autre lien de menu d'admin) ?

  • #2
    Hello.

    Lier un groupe d'utilisateur à une catégorie d'article particulière est un besoin... .particulier.
    De plus tu ne parles que des articles, mais je suppose qu'il pourrait en être de même pour d'autres extensions (catégories d’évènements, catégories/galeries photos, média, etc...).

    Je ne connais rien d'automatique en ce sens.
    Dans mes besoins la relation n'est pas si binaire, il y a toujours des catégories communes.

    Ensuite concernant la gestion des droits, le plus simple est de partir d'un groupe d'utilisateur racine qui n'a que les droits minimums communs à tous les groupes fils.

    La logique est "j'ouvre les droits" en descendant dans l'arbre et pas "je ferme un droit".
    Le "non autorisé" est irréversible et posera obligatoirement problème un jour car il est bloquant.

    C'est plus facile, et permet par exemple en descendant la branche d'ouvrir d'abord sur le droit "modifier ses éléments" pour un auteur particulier puis ensuite seulement ouvrir le droit "modifier tous les éléments" pour le responsable du service (ou de la catégorie).

    Lors de ma présentation des ACL aux derniers JDays, j'ai indiqué ce mnémotechnique "on est stagiaire" avant de devenir "chef de service".
    Les droits on les applique dans le même ordre.
    Dernière édition par roland_d_alsace à 20/04/2020, 11h44
    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


    • #3
      Merci pour ta réponse Roland.
      J'avais assisté à ta conférence sur les ACL au Joomladay. D'habitude je me sers des ACL de manière basique : interdire l'accès à certains liens d'admin au gérant du site.
      Mais dans le cas présent, il s'agit d'annonces immobilières, gérées dans de simples articles Joomla avec quelques custom fields, par des agents immobiliers qui ne doivent pas avoir accès à l'édition des annonces d'autres agences, ni à rien d'autre dans l'admin.
      Je pensais donc que le plus simple était d'affecter une catégorie d'articles à chaque agence, et créer chaque utilisateur/agent de cette agence avec les droits d'accès uniquement à cette catégorie d'articles en admin. ça me semble possible, mais je patauge pas mal pour faire que cet unique accès soit automatique, car pour l'instant, si je crée une nouvelle agence, je dois lui interdire l'accès à toutes les autres catégories une par une (Categorie/Droits/5 modifs de droits) ainsi qu'à chaque autre lien de menu (composants, modules, plugins, configuration ....).

      Par contre, je ne vois pas comment également limiter l'accès à chaque agence à leur dossier d'images sur le serveur.
      Dernière édition par django29 à 20/04/2020, 13h55

      Commentaire


      • #4
        Envoyé par django29 Voir le message
        Merci pour ta réponse Roland.
        J'avais assisté à ta conférence sur les ACL au Joomladay. D'habitude je me sers des ACL de manière basique : interdire l'accès à certains liens d'admin au gérant du site.
        Mais dans le cas présent, il s'agit d'annonces immobilières, gérées dans de simples articles Joomla avec quelques custom fields, par des agents immobiliers qui ne doivent pas avoir accès à l'édition des annonces d'autres agences, ni à rien d'autre dans l'admin.
        Je pensais donc que le plus simple était d'affecter une catégorie d'articles à chaque agence, et créer chaque utilisateur/agent de cette agence avec les droits d'accès uniquement à cette catégorie d'articles en admin. ça me semble possible, mais je patauge pas mal pour faire que cet unique accès soit automatique, car pour l'instant, si je crée une nouvelle agence, je dois lui interdire l'accès à toutes les autres catégories une par une (Categorie/Droits/5 modifs de droits) ainsi qu'à chaque autre lien de menu (composants, modules, plugins, configuration ....).
        De base il faut que le groupe d'utilisateur racine des agences ait juste le droit d'accès à l'admin de com_content, et le droit modifier ses élément.

        Ensuite à chaque fois que tu crée un groupe d'utilisateur correspondant à une agence, tu lui autorises le droit de création dans com_content dans "sa" catégorie d'article, et (éventuellement) le droit de modification dans la catégorie (le droit de modifier ses élément, il l'a déjà par héritage).

        Il n'y a donc pas besoin de supprimer des droits, vu qu'il ne les ont pas par héritage.

        Envoyé par django29 Voir le message
        Par contre, je ne vois pas comment également limiter l'accès à chaque agence à leur dossier d'images sur le serveur.
        Ça il faut le faire avec un éditeur comme JCE, où dans la configuration du profil "agence fontral et admin" on donne accès en upload uniquement à des dossiers contenant l'id ou le pseudo du membre sur le serveur pour le groupe d'utilisateurs racine des agences.
        Ceci une fois pour toutes.
        Tu peux même configurer JCE pour formater les noms de fichiers (remplacer les espaces par des underscore, mettre tout en minuscule, uniquement en caractères de base ascii, etc...).

        Mais pour ce gendre de travail avec ce niveau de droits, je ne vois pas l’intérêt de donner l'accès en admin.
        Tout peut se faire dans la partie publique du site.
        Dernière édition par roland_d_alsace à 20/04/2020, 22h57
        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


        • #5
          De base il faut que le groupe d'utilisateur racine des agences ait juste le droit d'accès à l'admin de com_content, et le droit modifier ses élément.
          Ensuite à chaque fois que tu crée un groupe d'utilisateur correspondant à une agence, tu lui autorises le droit de création dans com_content dans "sa" catégorie d'article, et (éventuellement) le droit de modification dans la catégorie (le droit de modifier ses élément, il l'a déjà par héritage).
          Tu fais çà où ? Mon groupe d'agents a pour parents Public/Registered/Agents29, et je ne vois pas où gérer un droit d'accès à com_content.

          Concernant l'accès aux images sur le serveur, j'ai vu ce paramétrage dans JCE, mais en création article il reste les onglets "Blog Options"(Helix) et "Images et lien" qui accèdent également au dossier images du serveur.

          Tout peut se faire dans la partie publique du site.
          En frontend on ne peut que modifier les articles, pas en créer (ou alors j'ai zappé quelque chose).
          Dernière édition par django29 à 21/04/2020, 08h58

          Commentaire


          • #6
            En frontend on ne peut que modifier les articles, pas en créer (ou alors j'ai zappé quelque chose).
            tout depend du template. Avec certains le bouton nouvel article n apparais que sur les vues liste d'une catégorie et d autre sur les vues blog et listes.
            Sous protostar, le bouton est que sur les listes d articles.

            Pour l'onglet images et lien, voir les paramètres des articles onglet"Agencement" .Tu peux choisir de le désactiver pour le frontal ici cet onglet.
            Pour l'onglet "helix", tester en désactivant le plugin existant (a tester, je n utilise pas helix du tout).
            Dernière édition par lefabdu51 à 21/04/2020, 13h47

            Commentaire


            • #7
              Hello.

              lefabdu51 t'a donné les réponses.

              Je rajouterai juste quelques points :

              Envoyé par django29 Voir le message
              En frontend on ne peut que modifier les articles, pas en créer (ou alors j'ai zappé quelque chose).
              Il est plus simple de prévoir le lien de menu adéquat "Créer un nouvel article", dans ton menu ou dans un module de menu "membre".
              Lien réservé bien sur au groupes d'utilisateur ayant le droit de création dans com_content (prévoir un acces-level en conséquence).

              Ou faire un alias de lien public, vers un lien avec niveau-d'accès, pour avoir "au passage" la fenêtre d'identification, comme je l'ai expliqué aux derniers JDays.

              Il n'y a qu'un seul problème, mais qui existe en admin aussi, c'est l'accès d'un article en attente de validation pour modification par son un auteur (donc auteur qui n'a pas le droit "modifier le status".
              Problème qui a mon avis ne sera jamais réglé sous J3 (voir issue...). J'en avais aussi parlé aux JDays.

              Envoyé par django29 Voir le message
              Tu fais çà où ? Mon groupe d'agents a pour parents Public/Registered/Agents29, et je ne vois pas où gérer un droit d'accès à com_content.
              L'accès aux composants (donc sa parution ou pas dans le le menu administration) se configure dans les droits globaux de chaque composant.

              Comme dit j'oublierai l'accès en admin pour "si-peu de choses", la publication d'articles se gère très bien en front.
              Dernière édition par roland_d_alsace à 21/04/2020, 14h09
              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
                Merci les gars.
                A priori, ça marche en frontend, avec les permissions réglées dans JCE. Heureusement, car avec les ACL pour l'accès en admin, je ne m'en sortais pas.
                J'ai ajouté un lien de menu pour créer un article. JCE ne donne accès qu'à un dossier présélectionné pour l'utilisateur connecté, à la racine du site,et les onglets Blog options ne permettent que d'uploader des images, donc pas d'accès non plus à tout le dossier Images de Joomla.
                J'ai également ajouté un lien "Mes annonces", en Access Special, qui ne liste que les annonces enregistrées par l'agent connecté en frontend, pour des modifs ou suppressions ultérieures.
                Je me jette maintenant dans les custom fields pour la suite ....

                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