Frage

Ich leite Plone 3.2.3 und habe installiert Humainemailman Damit können sich die Benutzer auf der Website von unseren verschiedenen Mailinglisten abonnieren und abmelden. Humainemailman funktioniert sehr einfach. Es gibt eine spezielle URL/Aktion, die Ihnen eine einfache Textliste aller E-Mail-Adressen gibt, die auf einer Liste abonniert sind. Zum Beispiel:

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

Sie sollten einfach diese URL wget und füttern die Klartextliste in die Sync_Members von Mailman. Einfach.

Das Problem ist, dass Plone mir nicht erlaubt, anonym auf diese URL zugreifen zu können. Wenn ich als Administrator angemeldet bin, kann ich in meinem Browser auf die URL zugreifen und die Liste der E-Mail-Adressen sehen. Aber wenn ich nicht angemeldet bin (und wenn ich diese URL mit WGet abzurfe), lenkt mich die Anmeldeseite an.

Wie sage ich Plone, dass ich einen anonymen Zugriff auf diese URL/Aktion zulassen möchte? Die Aktion selbst (in Code) ist in Produkten/Humainemailman/Skins/mailman_autolist_update.py definiert.

Danke im Voraus!

War es hilfreich?

Lösung 3

Humainemailman braucht verwaltete Berechtigungen. Diese sind zu viel zu viel zu geben, sodass Lennarts Antwort es nicht für mich gelöst hat. Stattdessen habe ich Humainemailman bearbeitet und die jeweiligen Funktionsaufrufe als öffentlich umgebaut. Dies ist jedoch ein geringes Sicherheitsrisiko. Mein Plone steht hinter einem Apache -Proxy, daher habe ich es kompensiert, indem ich nur den Zugriff auf die Mitgliedsliste von Localhost ermöglichte (wobei das WGet -Synchronisierungsskript und das Mailman selbst auch ausgeführt werden).

Andere Tipps

Es gibt einige Möglichkeiten, dies ohne Apache oder Wiederholung der Sicherheit zu beheben (was mich auch nervös machen würde)

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"

Ich verwende diesen Trick häufig in Skripten mit einem speziellen Benutzer, der nur "Dienste" macht. Es gibt auch einen Http -Auth -Trick, der wie http: // ** username: password@**www.example.org/mailman_autolist_update? List=mylist@example.org&password=secret, die möglicherweise nicht von Ihrem Client unterstützt werden kann, aussieht lib.

Wenn dieser Code in einem (Skript) Python ausgeführt wird, können Sie eine Metadatendatei (myScript.py.Metadaten) und geben Sie diesem Skript eine Proxy -Erlaubnis von Manager.ie

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

Finden Sie heraus, welche Erlaubnis diese Seite schützt, und geben Sie diese Erlaubnis für die anonyme Rolle in der Plone -Wurzel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top