如何将未经授权的用户重定向到403页面

时间:2014-04-01 06:40:35

标签: zend-framework zend-framework2 acl zfc-rbac

我正在使用ZendFramework2和zfc-user以及ZfcRbac进行授权和访问控制。我已经设置了一切与数据库管理角色一起工作。现在,当用户导航到未经授权的页面时,我收到You are not authorized to access this resource

引发的错误页面ZfcRbac

实际上我已在zfc-rbac.global.php中配置重定向到403页面。我的设置如下。

ZfcRbac\Exception\UnauthorizedException

-

'unauthorized_strategy' => [
     'template' => 'error/403'
],

如何将用户发送到403页?

修改

正确的答案是将UnauthorizedStrategy附加在onBootstrap

$t = $e->getTarget();
$t->getEventManager()->attach(
    $t->getServiceManager()->get('\ZfcRbac\View\Strategy\UnauthorizedStrategy')
);

1 个答案:

答案 0 :(得分:2)

默认情况下,

ZfcRbac 除了抛出异常外什么都不做。 ZfcRbac的强大功能在于其众多可定制的功能。你应该看到的那个可以在Documentation-Section "Strategies"下找到。

简而言之

  • 在您的模块onBootstrap
  • 上注册重定向策略
  • 如果需要,请更改重定向策略配置