Plone делает логин обязательным на каждой странице, кроме главной - PullRequest
0 голосов
/ 30 сентября 2011

Клиент хочет, чтобы его сайт Plone вел себя так:

  • главную страницу могут видеть анонимные пользователи
  • Вы должны быть зарегистрированы и авторизованы, чтобы видеть любую другую страницу
  • сайт открыт для регистрации, поэтому формы для аутентификации и регистрации также должны быть доступны для просмотра анонимно

Как можно подойти к этому?

Есть ли способ подключить скрипт / класс / метод / функцию python к любому запросу, сделанному пользователем? Было бы достаточно переопределить main_template.pt и добавить вызов TAL в метод, который выполняет эти проверки?

Сложность в том, что даже если аноним может посещать только главную страницу, главная страница сама по себе состоит из других типов контента, которые должны просматривать только аутентифицированные пользователи (по их ограничениям, а не из-за рабочего процесса).

Я исключил, может быть, ошибку ?, рабочий процесс, потому что тогда все должно быть приватным, но все же global_nav состоит из папок, которые, если был выбран подход рабочего процесса, должны быть приватными / недоступными для просмотра анонимным. *

Приветствия

1 Ответ

3 голосов
/ 30 сентября 2011

Попробуйте сделать следующее:

  • добавить состояние internally published в рабочий процесс
  • скопировать конфигурацию разрешений из «открытого» состояния в новое состояние и затем удалить «Просмотр»разрешение от анонимного пользователя (сохранить «Доступ к информации о содержимом», это ключ).Затем добавьте все необходимые переходы.
  • переведите вашу домашнюю страницу в «публичное» состояние
  • переведите все остальное в состояние «опубликовано внутри»

Это должно работать, потому что еслиВы связываете информацию контента на домашней странице, это будет работать, но если кто-то попытается получить доступ к контенту, он пропустит разрешение на «просмотр» и будет перенаправлен на страницу входа.

...