Не редактируемые, аутентифицированные пользователи в Apostrophe CMS - PullRequest
0 голосов
/ 14 января 2019

Насколько я понимаю, в Apostrophe CMS аутентифицированный пользователь, не являющийся гостем, всегда является редактором, с более или менее правами на редактирование в зависимости от настроек, но всегда человеком, который имел доступ к редактированию контента, поэтому весь интерфейс Apostrophe UI выскакивает, как только вы входите в систему. Однако в обычных рабочих процессах / требованиях на моих сайтах пользователям (как в «посетителях») необходимо войти в систему, чтобы получить доступ к некоторым конкретным страницам или функциям, недоступным для гостевых посетителей, поэтому мы заканчиваем с 3 различными типами пользователей: гостевые посетители, аутентифицированные посетители и редакторы.

На данный момент, чтобы иметь возможность аутентифицировать пользователей без редактора, я попытался переопределить блоки apostropheMenu и apostropheContextMenu в views\layout.html примерно так:

  {% block apostropheMenu %}
    {% if userHasEditorPermissions %}
      {{ super()}}
    {% if asdf %}
  {% endblock %}

Это правильный способ сделать это или есть лучшая альтернатива? Оригинальный блок «apostropheMenu» проверяет, существует ли data.user для того, чтобы показать или нет пользовательский интерфейс, я должен проверить разрешения непосредственно в data.user или добавить эту функциональность в beforeShow()?

С уважением и благодарностью команде Апостроф!

1 Ответ

0 голосов
/ 17 января 2019

Я думаю, что некоторые варианты проверки шаблонов были бы хорошим способом сделать это.

Настройте apostrophe-group специально для ваших аутентифицированных гостей (дайте им привилегию «Гость»), а затем сравните с этой конкретной группой в вашем шаблоне, заглянув внутрь data.user._groups и решив, стоит ли сделать определенный интерфейс.

...