Nous avons une instance auto-hébergée de Discourse en mode liste de diffusion, créée pour remplacer mailman.
Nous avons configuré 3 catégories avec des adresses e-mail entrantes personnalisées qui créent des sujets, ce qui semblait fonctionner correctement.
Malheureusement, nous avons constaté que les utilisateurs sans la permission « Créer » dans la catégorie pouvaient créer des sujets en envoyant des e-mails.
J’ai modifié les « Notifications par e-mail entrantes » pour restreindre la capacité de créer des sujets par e-mail à certains groupes privilégiés. Malheureusement, les utilisateurs qui ne font pas partie des groupes privilégiés peuvent toujours créer des sujets par e-mail.
J’ai arrêté et redémarré l’application et ce comportement a persisté. J’ai également tenté de mettre à jour l’application vers la dernière version de la branche tests-passed (3.2.0 beta5-dev Commits · discourse/discourse · GitHub), mais malheureusement, cela n’a pas aidé. La version précédente datait d’environ 2 semaines.
« La catégorie reflète une liste de diffusion » est cochée pour les 3 catégories.
Ce serait formidable si nous pouvions restreindre la publication par e-mail à des groupes spécifiques pour chaque catégorie, car cela ressemblerait davantage aux permissions des listes de diffusion dont nous avons migré.
Les réponses par e-mail sont refusées aux utilisateurs d’une manière qui correspond à « Répondre » dans les paramètres de sécurité de la catégorie. Ce serait formidable si la création d’un sujet par e-mail était également liée aux paramètres « Créer ».
Toute aide ou conseil serait grandement apprécié, n’hésitez pas à me faire savoir si vous avez besoin d’informations.
Merci beaucoup pour ton message. D’après la lecture de cette documentation, il semble que ce que nous essayons de réaliser est le comportement attendu de Discourse.
En lisant la documentation liée, cette partie est la plus pertinente :
Pourquoi utiliser une catégorie ?
L’utilisation d’une catégorie est utile si vous souhaitez simuler une liste de diffusion.
Nous utilisons les catégories pour cette raison
L’envoi d’un e-mail à une catégorie créera un sujet dans ladite catégorie.
Cela fonctionne correctement
Toute personne ayant accès à cette catégorie peut lire et répondre via l’interface web ou par e-mail.
Cela fonctionne également correctement
Les e-mails envoyés à une catégorie doivent respecter les paramètres de sécurité de la catégorie.
Les utilisateurs qui ne peuvent pas répondre dans l’interface web reçoivent une ReplyNotAllowedError lorsqu’ils consultent les journaux d’e-mails, ce qui est ce que nous voulons. Les utilisateurs qui ne peuvent pas créer de sujet via l’interface web sont capables de créer un sujet en envoyant un e-mail à l’adresse e-mail entrante, ce qui est l’un des problèmes que nous rencontrons. Ils sont même capables de créer des sujets dans des catégories qu’ils ne peuvent pas voir.
Les e-mails envoyés à une catégorie doivent respecter le paramètre de site email in allowed groups.
J’ai commencé à utiliser ce paramètre pour empêcher les groupes non autorisés de créer des sujets de la manière ci-dessus, mais cela ne fonctionne pas non plus.
Vous pouvez désactiver les utilisateurs staged par catégorie.
Notre instance Discourse est uniquement sur invitation, donc les utilisateurs staged sont désactivés et tout utilisateur inconnu reçoit une StrangerNotAllowed error, ce qui est le comportement souhaité.
J’ai essayé d’arrêter et de redémarrer l’application, et de mettre à niveau l’application via l’interface graphique web. Recommanderais-tu une reconstruction complète ?
Quels journaux seraient les plus pertinents pour ces problèmes ?
Juste une petite mise à jour. Je viens d’essayer de reconstruire l’application, mais le comportement est malheureusement resté le même. Je vais essayer de trouver d’autres journaux pour comprendre pourquoi cela se produit.
Après quelques recherches et tests, j’ai découvert que si vous cochez « La catégorie reflète une liste de diffusion », cela ignorera la validation, comme vous pouvez le voir ici dans le code source :
Une fois que j’ai décoché cette option, les autorisations ont fonctionné comme prévu :