0

私は Plone 3.2.3 を実行しており、 HumaineMailmanをインストールして、Web サイトのユーザーがさまざまなメーリングリストに登録したり、登録解除したりできるようにしています。HumaineMailman は非常にシンプルに動作します。リストに登録されているすべての電子メール アドレスのプレーン テキスト リストを提供する特別な URL/アクションがあります。例えば:

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

その URL を単純に wget して、平文のリストを Mailman の sync_members にフィードするだけです。簡単。

問題は、Plone ではその URL に匿名でアクセスできないことです。管理者としてログインすると、ブラウザで URL にアクセスして、電子メール アドレスのリストを表示できます。しかし、ログインしていないとき (そして wget を使用してその URL を取得しているとき)、Plone はログインページにリダイレクトします。

その URL/アクションへの匿名アクセスを許可したいことを plone に伝えるにはどうすればよいですか? アクション自体 (コード内) は Products/HumaineMailman/skins/mailman_autolist_update.py で定義されています。

前もって感謝します!

4

3 に答える 3

2

Apache やセキュリティを再宣言せずにこれに対処する方法がいくつかあります (これは私も緊張します)。

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"

私は、特別なユーザーが「サービス」のみを行うスクリプトで、このトリックを頻繁に使用します。http://**USERNAME:PASSWORD@**www.example.org/mailman_autolist_update?list=mylist@example.org&password=secret のような HTTP Auth トリックもあり、クライアントによってはサポートされている場合とサポートされていない場合がありますlib。

または、そのコードが (スクリプト) Python で実行されている場合は、メタデータ ファイル (myScript.py. metadata ) を追加して、そのスクリプトに Manager.ie のプロキシ権限を与えることができます。

[default]
title = Do something useful in the c/py that requires elevated privs
proxy = Manager
于 2009-09-12T00:36:39.820 に答える
1

そのページを保護しているパーミッションを特定し、そのパーミッションを Plone ルートの Anonymous ロールに付与します。

于 2009-08-24T12:35:37.053 に答える
0

HumaineMailman には ManagePortal 権限が必要です。それらは匿名に与えるには多すぎるので、レナートの答えは私にとってそれを解決しませんでした. 代わりに、HumaineMailman を編集し、それぞれの関数呼び出しを public として再宣言しました。ただし、これはわずかなセキュリティ リスクです。私の Plone は Apache プロキシの背後にあるので、localhost からのメンバーリストへのアクセスのみを許可することで補償しました (wget 同期スクリプトと mailman 自体も実行されています)。

于 2009-08-24T15:03:49.103 に答える