我对控制器登录操作的代码最有可能是错误必须在$auth=Zend_Auth::getInstance();
或$result=$auth->authenticate($adapter);
请帮我解决这个问题谢谢。
loginAction代码
public function indexAction() {
$loginform = new Admin_Form_Adminlogin();
$this->view->form = $loginform;
$db = $this->_getParam('db');
if ($loginform->isValid($_POST)) {
$adapter = new Zend_Auth_Adapter_DbTable(
$db,
'usr_reg',
'email',
'pass',
'MD5(CONCAT(?, password_salt))'
);
$adapter->setIdentity($loginform->getValue('email'));
$adapter->setCredential($loginform->getValue('pass'));
$auth= Zend_Auth::getInstance();
$result=$auth->authenticate($adapter);
if ($result->isValid()){
echo 'logged in';
}
}
}
我使用单独的列存储pass_salt
我的表单是:
public function init() {
$this->setMethod('post');
$this->addElement(
'text', 'email', array(
'label' => 'Username:',
'required' => true,
'filters' => array('StringTrim'),
));
$this->addElement('password', 'pass', array(
'label' => 'Password:',
'required' => true,
));
$this->addElement('submit', 'submit', array(
'ignore' => true,
'label' => 'Login',
));
}