我正在开发cakephp项目。我有问题,但不知道如何解决它。 我在Session调用中有变量存储是'角色'。我有一些路由由这个角色管理,但与其他角色拒绝。那么如何按照这样的角色配置路由呢。给我一个提示。非常感谢你
样本也许我想这样
if($this->Session->read("role")=="admin"){
allow("/admin/dashboard");
}else{
denied("/admin/dashboard");
}
if($this->Session->read("role")=="staff"){
allow("/staff/dashboard");
}
答案 0 :(得分:0)
您是否使用Auth组件验证登录?如果你正在使用它,你可以允许和拒绝控制器动作:
//AdminController
$this->Auth->allow('dashboard'); //Allow the dashboard method on admin controller
$this->Auth->deny('dashboard'); //Deny the dashboard method on admin controller
您还可以在beforeFilter()上创建条件,以根据角色重定向它:
//ExampleController
public function beforeFilter()
{
if($this->Session->read("role")=="admin")
{
return $this->redirect(array('controller' => 'yo_controller', 'action' => 'yo_action'));
}
//.......
}
如果您愿意,请查看有关授权的cookbook,这可能对您有帮助。