繁体   English   中英

当Neos中的节点或方法被拒绝访问时,如何显示自定义404页面?

[英]How can I show a custom 404 page when access is denied to a node or method in Neos?

我们正在建立一个论坛,在该论坛中未注册用户应拒绝访问。 我想为不允许在那里的用户显示适当的错误消息-不是异常。 如何在Neos 2.0中实现这一目标?

读写访问均应被拒绝。 也许拒绝访问论坛所在的节点更容易? 但是那不需要对节点路径进行硬编码吗?

当前Policy.yaml

privilegeTargets:

  'TYPO3\Flow\Security\Authorization\Privilege\Method\MethodPrivilege':

    'My.Package:PostControllerLoggedInActions':
        matcher: 'method(My\Package\PostController->(index|new|create)Action(.*))'

roles:

  'TYPO3.Flow:Everybody':
    privileges:
      -
        privilegeTarget: 'My.Package:PostControllerLoggedInActions'
        permission: DENY

  'My.Package:User':
    privileges:
      -
        privilegeTarget: 'My.Package:PostControllerLoggedInActions'
        permission: GRANT

编辑 :这是一些有关(除其他事项外)如何创建自定义404页面的幻灯片: https : //speakerdeck.com/aertmann/tasty-recipes-for-every-day-neos

编辑2 :使用Flow异常处理程序?

您可以尝试在根Configuration/Settings.yaml 您可以通过状态代码(例如示例)或异常类来实现:

TYPO3:
  Flow:
# you have already persistence
# and maybe other stuff under flow
# just add it below them but still under TYPO3.Flow
    error:
      exceptionHandler:
        renderingGroups:
          accessRestricted:
            matchingStatusCodes: [ 401, 403]
            options:
              templatePathAndFilename: 'resource://TYPO3.Neos/Private/Templates/Error/Index.html'
              layoutRootPath: 'resource://TYPO3.Neos/Private/Layouts/'
              format: 'html'
              variables:
                errorTitle: 'Restricted Area'
                errorDescription: 'Go home boy.'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM