Question

J'utilise le plone 3.2.3 et j'ai installé HumaineMailman afin que les utilisateurs du site Web puissent s'abonner et se désabonner de nos différentes listes de diffusion. HumaineMailman fonctionne très simple. Il existe une URL / action spéciale qui vous donne une liste de texte brut de toutes les adresses e-mail qui sont abonnées sur une liste. Par exemple:

http://www.example.org/mailman_autolist_update?list=mylist@example.org&password=secret

Vous êtes censé simplement faire cette URL et alimenter la liste de texte brut dans Sync_members de Mailman. Facile.

Le problème est que Plone ne me permet pas d'accéder à cette URL de manière anonyme. Lorsque je suis connecté en tant qu'administrateur, je peux accéder à l'URL dans mon navigateur et voir la liste des adresses e-mail. Mais quand je ne suis pas connecté (et lors de la récupération de cette URL à l'aide de WGET), Plone me redirige vers la page de connexion.

Comment dire à Plone que je veux permettre un accès anonyme à cette URL / action? L'action elle-même (en code) est définie dans Products / HumaineMailman / Skins / Mailman_Autolist_Update.py.

Merci d'avance!

Était-ce utile?

La solution 3

HumaineMailman a besoin d'autorisations de gestion. Ce sont trop à donner à Anonymous, donc Lennarts Réponse ne l'a pas résolu pour moi. Au lieu de cela, j'ai édité HumaineMailman et redéclaré les appels de fonction respectifs comme publics. Il s'agit cependant d'un léger risque de sécurité. Mon Plone est derrière un proxy Apache, donc j'ai compensé en autorisant uniquement l'accès à la liste des membres de LocalHost (où le script de synchronisation WGET et le facteur lui-même fonctionnent également).

Autres conseils

Il y a quelques façons de résoudre ce problème sans Apache ni redéclater la sécurité (ce qui me rendrait nerveux aussi)

http://www.example.org:8080/mailman_autolist_update?list=mylist@example.org&password=secret&__ac_name=**USERNAME**&__ac_password=**PASSWORD**&pwd_empty=0&cookies_enabled=1&js_enabled=0&form.submitted=1"

J'utilise fréquemment cette astuce dans les scripts avec un utilisateur spécial ne fait que des "services". Il existe également une astuce HTTP Auth qui ressemble à http: // ** nom d'utilisateur: password@**www.example.org/mailman_autolist_update? List=mylist@example.org&password=secret qui peut ou non être pris en charge en fonction de votre client Lib.

Alternativement, si ce code est en cours d'exécution dans un (script) python, vous pouvez ajouter un fichier de métadonnées (myscript.py.métadonnées) et donner à ce script une permission proxy de Manager.ie

[default]
title = Do something useful in the c/py that requires elevated privs
proxy = Manager

Déterminez quelle autorisation protège cette page et donnez cette autorisation au rôle anonyme dans la racine du plone.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top