我正在爲應用程序使用yii框架,我需要一組用戶使用遠程服務器進行驗證。在Yii框架中使用遠程服務器驗證用戶
我在我的應用程序中有幾個用戶角色。爲前:
- 超級管理員
- 品牌管理
- 客戶 等...
所有客戶記錄都在一個遠程MySQL數據庫。我必須通過我的yii應用程序認證客戶。我的yii應用程序將託管在不同的服務器上。
請假設我可以在遠程服務器中放置一個php腳本來響應我的發佈請求。
我需要寫我自己的UserIdentity類來做到這一點嗎?
請幫我解決這個問題。 謝謝
我正在爲應用程序使用yii框架,我需要一組用戶使用遠程服務器進行驗證。在Yii框架中使用遠程服務器驗證用戶
我在我的應用程序中有幾個用戶角色。爲前:
所有客戶記錄都在一個遠程MySQL數據庫。我必須通過我的yii應用程序認證客戶。我的yii應用程序將託管在不同的服務器上。
請假設我可以在遠程服務器中放置一個php腳本來響應我的發佈請求。
我需要寫我自己的UserIdentity類來做到這一點嗎?
請幫我解決這個問題。 謝謝
我不認爲你需要把任何腳本在您的遠程服務器上,你需要的是
1. Access the remote Db, and Yii allows the use of [multiple-databases][1].
2. Adjust the model(s) you are using for Authentication/Authorization (usually the User model) to load it's data from the remote database
對於第一個任務:
// protected/main/config.php
return array(
...
'components' => array(
'db' => array(
'connectionString' => 'mysql:host=dbserver1;dbname=my1db',
...
),
'remotedb' => array(
'connectionString' => 'mysql:host=adserver2;dbname=advertisingDB',
'username' => 'username',
'password' => '***********',
...
'class' => 'CDbConnection' // DO NOT FORGET THIS!
),
對於第二個任務:
對於您使用的型號身份驗證 & 授權,您將需要覆蓋getDbConnection()
函數從遠程服務器加載所需的數據。 檢查Wiki的如何。
而且,是的。您需要編寫自己的UserIdentity
類,實際上它是一項常用任務,即使您不使用遠程Db也是如此,因爲它的默認邏輯僅僅是一個示例,並非真正的生產站點。
GoodLuck!
是的,你將不得不重寫組件UserIdentity並創建自己的規則認證。
嗨,Nimir,謝謝你的幫助。作爲您的建議,我創建了另一個遠程用戶身份驗證用戶模型。現在一切都很好! – Shakeel 2012-08-21 08:58:40
很高興工作:) – Nimir 2012-08-21 19:43:16