在我的控制器中,我检查一个条件,看看用户是否被允许做一些事情。如果检查失败,我想向浏览器发回一个403。我如何在Cakephp中做到这一点?
发布于 2009-07-08 23:35:51
编辑-这个问题已经很久了,涵盖了不同版本的CakePHP框架。以下是每个答案适用于哪个版本的摘要。别忘了投票选出最有帮助的解决方案。
错误处理程序3.x和4.x -使用响应对象(Roberto's answer)
EDIT #2 - Mark37添加了CakePHP 2.x的more detailed answer。
EDIT #3 -为CakePHP添加的解决方案。(2018年5月: CakePHP 3.5进行了一些函数重命名,solution by Roberto仍然有效。)
通过查看上一条注释中的相关API code,您似乎可以调用Controller::header($status)来输出头而无需重定向。在您的例子中,正确的用法很可能是:
$this->header('HTTP/1.1 403 Forbidden');https://stackoverflow.com/questions/1100867
复制相似问题