在考虑会话授权时,组件与before_Filter?

时间:2017-02-07 06:17:07

标签: session cakephp

在使用会话检查授权时,我应该使用component或before_Filter。

1 个答案:

答案 0 :(得分:0)

您应该使用isAuthorized进行授权。

See the book

特别是在您的app控制器中,您需要将此设置添加到您的auth组件 'authorize' => array('Controller')

然后在isAuthorized函数中执行所有检查。从isAuthorized返回false将不允许他们访问控制器操作,而true将允许他们访问。

所以示例时间。

假设您在用户控制器中有索引操作,并且您只希望管理员有权访问该操作。在用户控制器的isAuthorized函数中,您可以检查用户的会话以获取管理员角色。

function isAuthorized($user) {
    if ($this->action == 'index') {
        if ($user['role'] == 'admin') {
            return true;
        }
    }
    return false;
}