2010-04-28 127 views
0

我正在爲我的項目使用cakephp框架。但問題是,在我的項目中,有四個用戶,如管理員,用戶,僱主,bla bla。如果所有人都同時登錄,那麼我如何才能對其進行身份驗證以正確訪問。所以plz幫助我.....如何在cakephp中驗證管理員和用戶

在此先感謝

回答

1

你要使用的驗證組件。看看手冊頁面,http://book.cakephp.org/view/172/Authentication

然後,我傾向於使用的是我的Users表中,我將添加一列permissions或類似的,然後將用戶類型添加到此列。

然後,您可以使用app_controller.php中的isAuthorized()函數來檢查各種控制器操作的級別。

有很多可能的方法來實現這一點,你甚至可以使用ACL,如果你想。

1

默認情況下,CakePHP使用像用戶身份驗證組件這樣的模型。您可以將此模型用於一種類型的用戶,對於其餘類型的用戶使用不同的模型...這樣,所有類型的用戶都可以從一臺機器同時登錄您的站點。如果您不這樣做,一次只能有一種類型的用戶登錄。

+0

謝謝,但你可以給我一個演示 – 2010-04-29 05:55:38

+0

對不起,我的意思是'sessionKey',而不是'模型'在上面的評論。 演示?不,我不能。我不知道您對Cake的理解程度,但您需要從已提供的鏈接中瞭解Auth組件。之後,在AppController的beforeFilter()中執行此操作。 if($ user_type =='admin') { \t $ this-> Auth-> loginRedirect = array('controller'=>'admin_after_login','action'= >'index','admin'=> true); \t $ this-> Auth-> logoutRedirect = array('controller'=>'users','action'=>'logout','admin'=> true); \t $ this-> Auth-> sessionKey ='Admin'; \t \t $ this-> layout =「admin」; } 請參閱上面的sessionKey?這一點很重要。 – 2010-04-29 06:49:47

+0

在** Cake 2 ** sessionKey是一個靜態屬性,所以它[無法更改](http://cakephp.lighthouseapp.com/projects/42648/tickets/2207-authcomponentsessionkey-property-cannot-be- changed )作爲'$ this-> Auth-> sessionKey =「Anything」'。您應該將其更改爲'AuthComponent :: $ sessionKey =「Anything」;' – Choma 2012-10-23 13:16:57

相關問題