【问题标题】:Manage routes by roles cakephp按角色管理路线 cakephp
【发布时间】:2016-12-07 06:35:43
【问题描述】:

我正在做 cakephp 项目。我有问题,但不知道如何解决。 我在会话调用中有变量存储是“角色”。我有一些路线由这个角色管理,但被其他角色拒绝。那么如何按这样的角色配置路由。给我一个提示。非常感谢

样品也许我想要这样

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

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

【问题讨论】:

    标签: php session cakephp routes roles


    【解决方案1】:

    你好,伙计。

    您是否使用 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 关于授权,它可能会对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 2015-04-05
      • 2015-06-13
      • 1970-01-01
      • 2014-06-21
      相关资源
      最近更新 更多