Php 默认情况下拒绝所有操作

Php 默认情况下拒绝所有操作,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,正如文档()中解释的那样,我试图拒绝未经身份验证的用户访问所有页面,因此我将其放在我的AppController.php中: public function initialize() { parent::initialize(); $this->loadComponent('Auth', [ 'loginAction' => [ 'controller' => 'AuthController', '

正如文档()中解释的那样,我试图拒绝未经身份验证的用户访问所有页面,因此我将其放在我的AppController.php中:

public function initialize()
{
    parent::initialize();
    $this->loadComponent('Auth', [
        'loginAction' => [
            'controller' => 'AuthController',
            'action' => 'login'
        ],
        'authenticate' => [
            'OAuth2Client.OAuth2'
        ]
    ]);
}

public function beforeFilter(Event $event)
{
    parent::beforeFilter($event);
    $this->Auth->deny();
}
什么也没发生。未经授权的用户仍然可以查看所有页面,而无需重定向。 我还尝试了Auth组件的'authorized'=>'controller',但没有任何更改。
Authenticate类登录良好,但我无法拒绝所有页面。

我修复了在自定义身份验证提供程序上添加正确方法的问题。 缺少的方法是getUser。文档中并没有提到它,或者是由接口强制的,所以您应该定义此方法以使授权生效。 此外,您还应按如下方式设置控制器授权:

$this->loadComponent('Auth', [
    'authorize' => ['Controller']
]);