2013-02-01 49 views
0

正如標題所說,我有兩個不同的CakePHP應用程序,但兩者的用戶都是一樣的。我希望這兩個應用程序都有一個登錄/通行證,但我不知道如何去做。當他們登錄到其中一個時,如果他們在同一個瀏覽器的不同標籤中登錄另一個標籤,則會登出另一個標籤。我會使用Cookies嗎?是否有可能只是告訴蛋糕2.x應用程序解密或任何密碼與1.3應用程序相同的方式?cakephp 1.3和2.x應用程序的一個用戶表?

回答

0

確保您添加的哈希函數到用戶的模式。他們在2.x中刪除了自動哈希以使其更加靈活。 像這樣的事情在你的2.X user.php的模型文件...

public function beforeSave($options = array()) { 
     if (isset($this->data[$this->alias]['password'])) { 
      $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']); 
     } 
    return true; 
} 

幫助自己在你的AppController beforeFilter()加入pr($this->data);然後嘗試登錄和比較正請求中的用戶名和密碼調試您的問題每個應用。

0

您需要/config/database.php

創建另一個數據庫的配置而在UserModel添加useDbConfig屬性。

更多信息,請參見documentation

編輯:

/config/core.phpSecurity.salt設置應該是這兩個應用是相同的: Configure::write('Security.salt', 'same for app A as for app B');

+0

我已經設置了數據庫配置文件。 Cake 2.x應用程序可以訪問1.3應用程序的用戶表,但它不能正確驗證?即使用正確的用戶登錄。我希望這兩個應用程序都使用相同的登錄名。 – Jonathan

+0

請參閱我的答案中的編輯部分。 – noslone

+0

他們仍然沒有匹配。 1.3創建的用戶密碼以5546e開頭,但是當我嘗試在2.x應用程序中使用該登錄時,它顯示的密碼開始爲5984e。似乎沒有在其他地方指定的加密。 – Jonathan

相關問題