我的Zend_Auth
功能有问题。
Zend_Auth
我有一个 Web 应用程序,当会话中的密钥超时时,它会使用登录框提示用户。当用户使用正确的凭据登录时,会话中的密钥将重置回 true。但是,当用户输入错误的凭据时,会话中的所有密钥都会被擦除并且会话不再有效?
我想知道该Zend_Auth::getInstance()
功能是否正在擦拭它以重新开始?
有任何想法吗?
protected function _process($values)
{
// grab data from config
$iniTime = Zend_Registry::get('config')->inactive->session;
$expireTime = $iniTime->timeout;
$realIP = new Application_Model_RealIP();
// Get our authentication adapter and check credentials
$adapter = $this->_getAuthAdapter();
$adapter->setIdentity($values['email']);
//$pwEncode->encode_password($values['password'])
$adapter->setCredential($values['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$user = $adapter->getResultRowObject();
$user->session_IP = $realIP->getRealIpAddr();
$auth->getStorage()->write($user);
//check whether the client is authenticated
$session = new Zend_Session_Namespace('new_session');
// Set "dummy" key with expiration
$session->key = true;
$session->setExpirationSeconds( $expireTime, 'key' );
return true;
}
return false;
}
链接到调用 _process 方法的 auth 函数链接