Cakephp管理路由阻止常规用户
其中一个课程是CakePHP课程,有一个问题没有人能够回答,这是阻止用户访问某些内容(如管理页面)的一种方式。 我做的方式只是在View中使用PHP语句来表示某个index.ctp页面,如果该角色为= 1,那么将显示此HTML,否则显示其他HTML。 但这并不是马上就会。
因此,我设置了管理路由前缀,并重新烘焙了具有路由的MVC文件,但不知道如何阻止用户使用角色“1” - 意味着默认情况下访问管理员前缀页面。 也许我失去了一些东西......任何洞察力或教程都将是一个巨大的帮助。
应用控制器
class AppController extends Controller {
public $components = array('DebugKit.Toolbar', 'Session', 'Auth');
public function isAuthorized($user) {
if (empty($this->request->params['prefix'])) {
return true;
}
if($this->request->params['prefix'] == 'admin') {
return ($user['role'] == '2');
}
return false;
}
public function beforeFilter() {
$this - > set('logged_in', $this - > Auth - > loggedIn());
$this - > set('current_user', $this - > Auth - > user());
}
}
该项目上传到https://github.com/DavidWGreeley/termmvc/tree/Testing
你必须告诉蛋糕它需要什么类型的授权
当您加载Auth组件时,必须通知Cake必须查看Controller::isAuthorized
方法。 所以在你的AppController::initialize()
方法中:
$this->loadComponent('Auth', [
'authorize' => [
'Controller'
]
)
链接地址: http://www.djcxy.com/p/58833.html