Предоставьте анонимный доступ к конкретному URL/действию в Plone

StackOverflow https://stackoverflow.com/questions/1321828

  •  19-09-2019
  •  | 
  •  

Вопрос

Я использую Plone 3.2.3 и установил HumaineMailman так что пользователи на веб -сайте могут подписаться и отказаться от подписки от наших различных почтовых списков. HumaineMailman работает очень просто. Существует специальный URL/действие, которое дает вам простой текстовый список всех адресов электронной почты, которые подписаны в списке. Например:

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

Вы должны просто провести этот URL и подать список простого текста в Sync_members Mailman. Легкий.

Проблема в том, что Plone не позволяет мне получить доступ к этому URL анонимно. Когда я вошел в систему в качестве администратора, я могу получить доступ к URL-адресу в своем браузере и увидеть список адресов электронной почты. Но когда я не вошел в систему (и при получении этого URL -адреса с помощью WGET), то PLONE перенаправляет меня на страницу входа в систему.

Как сказать Плону, что я хочу разрешить анонимный доступ к этому URL/действию? Само действие (в коде) определено в продуктах/HumaineMailman/Skins/mailman_autolist_update.py.

Заранее спасибо!

Это было полезно?

Решение 3

HumaineMailman нуждается в управлении докладами. Это слишком много, чтобы дать анонимному, поэтому ответ Lennarts не решил его для меня. Вместо этого я отредактировал HumaineMailman и переделал соответствующие вызовы функций как публичные. Это небольшой риск безопасности, хотя. Мой Plone стоит за прокси -сервером Apache, поэтому я компенсировал только доступ к членам члена Localhost (где также работает скрипт синхронизации WGET и сам почтальон).

Другие советы

Есть несколько способов устранения этого без апаше или повторного объединения безопасности (что тоже заставит меня нервничать)

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 auth, которая выглядит как http: // ** username: password@**Www.example.org/mailman_autolist_update? List=mylist@example.org&password=secret, который может или не может быть поддержан в зависимости от вашего клиента. либеральный

В качестве альтернативы, если этот код запускается в (сценарии) Python, вы можете добавить файл метаданных (myscript.py.метаданные) и дайте этому сценарию разрешение Manager.ie

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

Выясните, какое разрешение защищает эту страницу, и дайте это разрешение на анонимную роль в корне Plone.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top