【问题标题】:ZFCUser and bjyauthorize - How to leave out authorization for landing pageZFCUser 和 bjyauthorize - 如何省略登陆页面的授权
【发布时间】:2013-03-13 09:08:45
【问题描述】:

我正在建立一个封闭的网站,它为每个人提供一个登陆页面。

我正在使用ZfcUser 和BjyAuthorize。 现在一切正常,但我想知道如何排除我的应用程序的 Application\Controller\Index::index 操作。

在我的module.bjyauthorize.global.php 中,我告诉我的操作不需要身份验证:

'BjyAuthorize\Guard\Controller' => array(
    array(
        'controller' => 'Application\Controller\Index',
        'action' => 'index',
        'roles' => array()
    ),
    // ...

但我仍然被转发到ZFCUser 登录页面。

知道我错过了什么吗?

编辑:

我尝试使用 guest 角色,但到目前为止没有运气:

 'default_role'          => 'guest',
 'BjyAuthorize\Provider\Role\Config' => array(
     'guest' => array(),
     'user'  => array(
         'children' => array(
             'admin' => array(),
         ),
     ),
 ),

【问题讨论】:

  • 定义默认角色guest - 使登陆页面只需要guest
  • 我更新了我的帖子。我尝试将 guest 添加到我的角色数组中,但我仍然被转发......也许 ZFCUser 正在干扰?

标签: php authentication zend-framework2 zfcuser bjyauthorize


【解决方案1】:

注意:在BjyAuthorize 1.2.*有效

您必须允许guest 用户访问索引页:

'BjyAuthorize\Guard\Controller' => array(
    array(
        'controller' => 'Application\Controller\Index',
        'action' => 'index',
        'roles' => array('guest', 'user')
    ),
    // ...

您在问题中定义的是全部拒绝。

由于 BjyAuthorize 的控制器保护配置充当 whitelist,因此目前无法同时允许访问所有角色。

【讨论】:

  • 我将代码更改为您的解决方案,但仍然没有运气。知道我可能做错了什么吗?
  • 您检查过您当前的角色吗? 403 模板显示的异常详情是什么?
  • 哦,可能是误会。我被转发到登录页面,而不是403...
  • 禁用重定向策略先调试你的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多