按角色cakephp管理路线

时间:2016-08-02 03:40:54

标签: php session cakephp routes roles

我正在开发cakephp项目。我有问题,但不知道如何解决它。 我在Session调用中有变量存储是'角色'。我有一些路由由这个角色管理,但与其他角色拒绝。那么如何按照这样的角色配置路由呢。给我一个提示。非常感谢你

样本也许我想这样

if($this->Session->read("role")=="admin"){
   allow("/admin/dashboard");
}else{
   denied("/admin/dashboard");
}

if($this->Session->read("role")=="staff"){
  allow("/staff/dashboard");
}

1 个答案:

答案 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,这可能对您有帮助。