为什么授权是在AppController中完成身份验证时设置为Controller?
喜欢:我在Blog example做的时候得到了它,但没有得到详细解释
$this->loadComponent('Auth', [
'authorize' => ['Controller']
]);
我读了Authorize Section但却无法理解。那么有人可以帮助让我理解吗?
答案 0 :(得分:3)
本书描述了如何在控制器级别控制自己的授权。
身份验证标识有效用户。如果任何已登录的用户可以访问您应用的任何部分,那么您就不需要实施任何进一步的授权。但是,如果您希望基于 role 限制对某些控制器的访问,您可以按照描述在Auth配置中设置'authorize' => ['Controller']
,然后在每个控制器中定义您自己的{{1}方法,基于用户的角色。
例如,如果在您的InvoicesController中,您只想让角色为' Accounting'访问方法,你可以在InvoicesController的isAuthorized()方法中包含一个测试:
isAuthorized()