我不是在寻找整个ACO-ARO实现......我只是想使用Auth,并检查用户的角色....
除非他们具有特定的角色,否则我放在哪里以简单地拒绝给定控制器的用户。
我正在尝试使用$ this-> Auth-> authorize ='controller'; ......但我甚至不知道把它放在哪里?
任何帮助都会很棒!
提前致谢。
答案 0 :(得分:1)
简短的回答 r:听起来您需要创建app_controller.php
并将代码放入beforeFilter
方法。
更长的答案:在您的应用目录中创建一个app_controller.php
文件,并将以下代码放入beforeFilter()
。
if (isset($this->params[Configure::read('Routing.admin')])) { //User is trying to access a page using the admin route
if ($this->Session->check('someSessionVariable')) { //Check user has some session variable set.
// User is accessing an admin page and has permission, do something, or in most cases do nothing.
} else { //No sessions set for user, redirect to login page.
$this->redirect('/yourLoginPage'); //Redirect
}
}
这不能替代Auth组件的正确用户,但应该做你需要的。在投入生产之前,请确保检查其安全性。