Php 默认情况下拒绝所有操作
正如文档()中解释的那样,我试图拒绝未经身份验证的用户访问所有页面,因此我将其放在我的AppController.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', '
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']
]);