为什么Authorize是在AuthComponent中设置为Controller?

时间:2015-05-21 17:28:52

标签: cakephp-3.0

为什么授权是在AppController中完成身份验证时设置为Controller?

喜欢:我在Blog example做的时候得到了它,但没有得到详细解释

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

我读了Authorize Section但却无法理解。那么有人可以帮助让我理解吗?

1 个答案:

答案 0 :(得分:3)

本书描述了如何在控制器级别控制自己的授权。 身份验证标识有效用户。如果任何已登录的用户可以访问您应用的任何部分,那么您就不需要实施任何进一步的授权。但是,如果您希望基于 role 限制对某些控制器的访问,您可以按照描述在Auth配置中设置'authorize' => ['Controller'],然后在每个控制器中定义您自己的{{1}方法,基于用户的角色。

例如,如果在您的InvoicesController中,您只想让角色为' Accounting'访问方法,你可以在InvoicesController的isAuthorized()方法中包含一个测试:

isAuthorized()