2013-05-04 149 views
-1

我在cakephp中做旅遊系統,我有兩種不同類型的最終用戶,一個是Admin,另一個是註冊用戶,所以我需要兩個不同的視圖,這些用戶以及註冊用戶應該不訪問管理模塊的任何控制器,cakephp控制器級別身份驗證

現在我不知道如何區分這兩個用戶。

回答

2

通過它的聲音你正在尋找的是Prefix Routing它應該爲您提供所需的一切。

您的網址可以由管理員前綴(如果適用於有問題的用戶):

http://example.com/admin/posts

這是路由到(在帖子控制器):

public function admin_index(){ 
    ... 
} 

其中呈現app/View/Posts/admin_index.ctp視圖。

我不會說更多,因爲這方面的文檔確實非常全面。請注意,如果您開始引入兩級以上的權限(例如用戶,超級用戶,管理員),則前綴路由並不適合。您需要查看Access Control Lists而不是框架。

+0

Thanq山姆,爲您suggetion – 2013-05-05 19:00:32

0

大家好我有一個替代方法來解決這個線程,即配置每個控制器。只要把下面的代碼在控制器,你不想給接入



公共職能beforeFilter(){
如果($這個 - > Auth->用戶(「角色」)= = '常規')
{

 $this->Session->setFlash('You cannot access');<br> 
     $this->redirect(array('controller'=>'users','action' => 'index'));<br> 
    } 
} 



所以如果有人登錄作爲一個普通用戶,他/她將重定向到用戶控制器或任何其他你想指定

+0

嗨@AaminKhan,這是一個非常簡單的解決方案!將這個邏輯轉移到組件中可能是一個好主意,因此您不必爲每個使用它的控制器複製代碼? – 2013-05-05 20:18:25