我为我的web应用程序使用PHP Zend框架。当用户注册时,我向他们发送一封电子邮件来验证他们的电子邮件地址,当他们点击该链接时 - 该帐户被激活。电子邮件验证后PHP自动登录用户
我的问题 - 当用户点击激活链接 - 我也想自动登录他们 - 而不是让他们再次登录。我不知道该怎么做。
这是我在Zend的登录行为,需要电子邮件地址和密码。所以,我应该为激活链接的一部分发送,这样,当用户点击它,它们会自动登录。
$db = Zend_Db_Table::getDefaultAdapter();
//create the auth adapter
$authAdapter = new Zend_Auth_Adapter_DbTable($db, 'user','email', 'password');
//set the username and password
$authAdapter->setIdentity($this->_getParam('email'));
$authAdapter->setCredential(md5($this->_getParam('password')));
//authenticate
$result = $authAdapter->authenticate();
if ($result->isValid()) {
$auth = Zend_Auth::getInstance();
$storage = $auth->getStorage();
$row = $authAdapter->getResultRowObject(array('user_id'));
$userModel = new Model_User();
$user = $userModel->loadUserProfile($row->user_id);
$storage->write($user);
}
感谢您的帮助
你使用Session来测试用户登录,他的角色等或Zend_Auth? –
我只是使用Zend_Auth – Gublooo