PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
101 stars 102 forks source link

PUBLIC_ACCESS : création de commentaires et de signalements dans module de synthese #2465

Open andriacap opened 1 year ago

andriacap commented 1 year ago

Version Version de GeoNature affectée par le bug 2.11.2 et 2.12

Description du bug Problème remonté par l'ARB-IDF , concernant le public_access . L'utilisateur public à accès aux module de synthese mais il a également la possibilité de créer un commentaire et un signalement . Plusieurs problèmes peuvent être soulevés concernant la possibilité de créer un commentaire/signalement sous un accès public:

image

Comportement attendue En attendant de re-évaluer la gestion des droits concernant la possibilité de créer des commentaires/signalement en étant connecté sous un utilisateur public , on peut envisager de modifier la route create synthese/reports Voir code ci dessous qui pourrait être ajouté et empêcher l'utilisateur public de créer des commentaires et des signalements:

   user = g.current_user

    # Prevent public-access user from create comment and alert 
    if user.is_public:
        raise Forbidden

https://github.com/PnX-SI/GeoNature/blob/5999efb11113081f1f9e8c65d44130318069c7b6/backend/geonature/core/gn_synthese/routes.py#L1047-L1061

Comment reproduire Pour reproduire le problème il faut renseigner le paramètre PUBLIC_ACCESS_USERNAME dans le fichier geonature_config.toml et autorisé l'accès public au module synthese.

camillemonchicourt commented 1 year ago

OK, on n'avait volontairement pas fait de permissions spécifiques pour les discussions, signalements et épinglage, considérant que si j'ai accès à des données dans la Synthèse, j'ai alors les droits pour les discuter, signaler, épingler.

Mais on n'avait pas pensé au cas particulier de l'accès public.

L'accès public pose question et devrait peut-être repensé pour éviter ce type d'effets de bord... Je crains qu'on bricole des conditions un peu partout pour gérer les spécificités d'un accès avec un utilisateur public commun, alors que l'outil n'a pas été vraiment pensé pour ça...

Mais sinon, on pourrait en effet masquer l'accès aux discussions, à l'épinglage et au signalement quand on accède à GeoNature avec l'accès public.

C'est déjà fait par ailleurs pour masquer l'accès à la gestion du compte quand on est en accès public qui permettait alors de modifier le mot de passe de l'utilisateur public... https://github.com/PnX-SI/GeoNature/issues/1844

andriacap commented 1 year ago

Merci pour ton retour Camille, sujet à approfondir alors . En tout cas si d'autres utiiisateurs sont confrontés à ces effets de bord, la proposition faite dans mon précédent commentaire permet d'y remédier