2014-04-10 135 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') 

    ) 
);