【问题标题】: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 关于授权,它可能会对您有所帮助。