如何每种类型的用户重定向到一个不同的页面时,访问被拒绝?(How to redirect each

2019-10-20 05:54发布

在我的应用我有用户(用户,管理员,不登录的用户)的3个角色,我想,当访问被拒绝,他们重定向到不同的页面。 怎么做?

在时间,什么$这 - > Auth->授权=阵列( '控制器'); 手段? 我没有蛋糕文档明白这一点。

感谢所有。

Answer 1:

我想有它的IF语句,但也许别人可以提出一个更具体的CakePHP的方法..

if($user === 'Admin') {
   //Admin Redirect
   $redirectController = 'admin';
   $redirectMethod = 'admin_index';
} elseif ($user === 'User') {
   //User Redirect
   $redirectController = 'user';
   $redirectMethod = 'index';
} else {
  //Not logged in
  $redirectController = 'SomeController';
  $redirectMethod = 'someMethod';
}

$this->Auth->unauthorizedRedirect = array(
        'controller' => $redirectController,
        'action' => $redirectMethod 
    );

$this->Auth->authorize = array('Controller'); 意味着该授权是在控制器级别进行。 我相信你可以更改授权使用此进行。



文章来源: How to redirect each type of user to a different page when access is denied?