如何限制普通用户访问所有视图

时间:2018-04-14 14:21:08

标签: cakephp cakephp-3.0

我想限制使用role ="普通"访问其他控制器视图

示例...我在 JobsController 下添加了视图

如果当前登录用户具有用户角色="普通"基本上他或她不能继续这样做,它会提示,你被禁止访问该页面。

如果当前用户登录具有用户角色=" admin"他或她可以继续

我在AppController.php下面有这个代码

 public function isAuthorized($user)
    {
        if (isset($user['role']) && $user['role'] === 'admin') {        
                return true;
        }
        if (isset($user['role']) && $user['role'] === 'ordinary') {

            $allowedActions = ['index', 'logout', 'add'];
            if(in_array($this->request->action, $allowedActions)) {
                return true;
            }
        }
        return false;

    }

1 个答案:

答案 0 :(得分:-1)

你可以像这样

<?php
if($this->request->session()->read('Auth.User.role') == 'admin'){
  /// display the views
  /// if current login user has admin role
}
else{
   echo"You are not allowed to access this area";
}
?>
用户表字段中必须存在

角色

希望它有助于解决您的问题