0
我有搜索和搜索,但沒有回答我使用Zend框架來創建一個用戶,併成功店Zend的權威性的記錄,因此它們在自動登錄。Zend的創建用戶並自動登錄其在
我有創建用戶工作完美,但成功後,我需要啓動_getAuthAdpater()並簽署用戶英寸
我已經實現了下面的代碼,但它不會將用戶數據存儲在會話中。這是我的功能。
公共職能registerAction()
$proUser = new Application_Model_DbTable_ProUser;
$userId = $proUser->addProUser($data['email'], $data['name'], $data['password']);if($userId){
// add new row into proBasic
$proBasic = new Application_Model_DbTable_proBasic;
$proBasic->addProBasic($userId);
// add new row into proService
$proService = new Application_Model_DbTable_proService;
$proService->addProService($userId);
// Create auth session for proUser
$adapter = $this->_getAuthAdapter();
$adapter->setIdentity($data['email']);
$adapter->setCredential($data['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$user = $adapter->getResultRowObject(array(
'proId',
'proName',
'proEmail',
));
$auth->getStorage()->write($user);
return true;
}
return $this->_redirect('/auth/probasic/');
}
這裏是_getAuthAdapter()函數:
private function _getAuthAdapter()
{
$authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter());
$authAdapter->setTableName('proUser')
->setIdentityColumn('proEmail')
->setCredentialColumn('proPassword');
return $authAdapter;
}
我沒有得到任何錯誤,該代碼,但它不是存儲在身份驗證的用戶的詳細信息。我發現了100個如何在Zend中創建登錄/註冊系統的例子,並且他們都沒有自動登錄用戶,所以我想知道如果我正在嘗試做一些不同的事情。
乾杯
J.