2014-04-10 93 views
0

在我的cakephp应用程序中,我有一个用户表,其中包含用户名,密码和角色字段。角色确定他们可以访问哪些控制器和操作。我拥有两种主要角色:管理员和客户。因此管理员和客户只能访问他们各自的控制器和操作。Cakephp Auth多重登录重定向

但是,在我的AppController下,它对于未登录的用户只有一个重定向,导致相同的Controller和Action登录页面,而不管它是否是试图访问管理页面或客户页面的用户。

我想要有2个不同的登录页面,一个用于管理员,另一个用于客户。我怎样才能做到这一点?

class AppController extends Controller { 

    public $components = array(
     'DebugKit.Toolbar', 
     'Session', 
     'Auth'=>array(

      'loginRedirect'=>array('controller'=>'Access', 'action'=>'login'), 
      'logoutRedirect'=>array('controller'=>'Access', 'action'=>'logout'), 
      'authError'=>'You cannot access that page', 
      'authorize'=>array('Controller') 

     ) 
    ); 
+0

我不知道,如果你的方式是可行的,但你可以尝试login'到'管理'后,管理员重定向页面代替默认的'客户页面' – walkingRed

回答

0

你忘了设置在loginAction .. 类AppController的扩展控制器{

public $components = array(
    'DebugKit.Toolbar', 
    'Session', 
    'Auth'=>array(
     'loginAction'=>array('controller'=>'users','action'=>'login'), 
     'loginRedirect'=>array('controller'=>'Access', 'action'=>'login'), 
     'logoutRedirect'=>array('controller'=>'Access', 'action'=>'logout'), 
     'authError'=>'You cannot access that page', 
     'authorize'=>array('Controller') 

    ) 
);