据我了解,在Apostrophe CMS中,经过身份验证的非访客用户始终是编辑者,其权限取决于设置,或多或少具有版本权,但始终是有权编辑内容的人,因此所有Apostrophe UI登录后立即弹出。但是,在我的网站上通常的工作流程/要求中,用户(如“访客”)需要登录才能访问访客访问者无法使用的某些特定页面或功能,因此我们结束了共有3种不同类型的用户:访客访客,经过身份验证的访客和编辑。
目前,为了能够通过身份验证的非编辑者用户,我尝试将apostropheMenu
中的块apostropheContextMenu
和views\layout.html
覆盖为类似的内容。 / p>
{% block apostropheMenu %}
{% if userHasEditorPermissions %}
{{ super()}}
{% if asdf %}
{% endblock %}
这是正确的方法还是有更好的选择?原始的“撇号菜单”块检查是否存在data.user
以便显示UI,我应该直接在data.user中检查权限还是在beforeShow()
中添加该功能?
致以问候,并感谢Apostrophe团队!
答案 0 :(得分:0)
我认为对模板进行一些检查将是一种很好的方法。
专门为经过身份验证的来宾设置一个apostrophe-group
(向他们授予来宾权限),然后在模板中检查该特定的 group ,在data.user._groups
中查找并决定是否呈现某些UI。