Cakephp 2.4.9授权问题

时间:2014-06-20 05:23:58

标签: cakephp authorization

我有两个角色admin和成员

现在我希望会员只能编辑他的记录(参与者),但我怎么能这样做? 管理员可以编辑参与者的所有记录。

 public function isAuthorized($user){
  if(in_array($this->action, array('edit'))){
          if($user['id'] != $this->Session->read('Auth.Participant.user_id')) {
                       return false;
          }
      } 
       return true; 
}

但是凭借我的功能,没有人可以通过编辑做一些事情:(

1 个答案:

答案 0 :(得分:0)

public function isAuthorized($user) {
   // Admin can access every action
    if (isset($user['role']) && $user['role'] === 'admin') {
      return true;
    }

   if (isset($user['role']) && $user['role'] === 'member') {
      if(in_array($this->action, array('edit'))){
         if($user['id'] != $this->Session->read('Auth.Participant.user_id')) {
             return false;
         }
         else{
            return true;
         }
      }   
   }

   //Default deny
    return false;
}