2011-08-07 86 views
0

我知道验证通常限制不同的是加入/登录的所有行动等CakePHP默认的控制器,模型

删除的功能,但如果模型有一个默认删除()函数,它是如何在正常的完成CakePHP的方式来确保通过身份验证的用户不能删除不属于他的ID?是的,我知道我可以查找被删除的东西的user_id,并将其与Auth.Userid进行比较,但有没有更简单的方法?

回答

0

我想只有登录是默认允许的。

我不认为有一个更简单的方法,但有一定的快捷方式,你可以采取:

function delete(){ 
    if(!empty($this->data)){ 
     $this->Model->id = $this->data['Model']['id']; 
     if($this->Model->field('user_id') == $this->Auth->user('id'))$this->Model->delete(); 
    } 
    //redirect somewhere 
} 
+0

我们假定你是他使用POST而不是GET(这仍然是默认在大多数情况下) – mark