Zend framework Zend 1.12登录不工作
我正在创建一个使用salt和password两列的登录系统,但它无法运行我的操作代码Zend framework Zend 1.12登录不工作,zend-framework,Zend Framework,我正在创建一个使用salt和password两列的登录系统,但它无法运行我的操作代码 public function indexAction() { $form = new Admin_Form_Login(); $request = $this->getRequest(); if ($request->isPost()) { if ($form->isValid($request->getPost())) {
public function indexAction() {
$form = new Admin_Form_Login();
$request = $this->getRequest();
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
if ($this->_process($form->getValues())) {
// We're authenticated! Redirect to the home page
$this->_helper->redirector('', 'dashboard');
} else {
echo 'Password is wrong';
}
}
}
$this->view->form = $form;
}
protected function _process($values) {
// Get our authentication adapter and check credentials
$adapter = $this->_getAuthAdapter();
$adapter->setIdentity($values['email']);
$adapter->setCredential($values['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$user = $adapter->getResultRowObject();
$auth->getStorage()->write($user);
return true;
}
return false;
}
protected function _getAuthAdapter() {
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('eg_user_login')
->setIdentityColumn('email')
->setCredentialColumn('password')
->setCredentialTreatment("MD5(CONCAT(? , salt))");
return $authAdapter;
}
注册行动守则如下:
$regForm = new Admin_Form_Register();
$this->view->form = $regForm;
if ($this->getRequest()->isPost()) {
if ($regForm->isValid($this->_request->getPost())) {
$values = $regForm->getValues($this->_request->getPost());
$pass = $values['pass1'];
$salt = sha1($pass);
$password = MD5($salt . $pass);
$data = array(
'f_name' => $values['fname'],
'l_name' => $values['lname'],
'gender' => $values['gender'],
'email' => $values['email'],
'contact' => $values['contact'],
'password' => $password,
'salt' => $salt,
'created_on' => date("d-m-y"),
'user_role' => $values['userrole'],
'status' => 0
);
$db = new Admin_Model_Userreg();
$db->insert($data);
}
}
它显示任何错误,我认为密码中的加密和解密有问题。
登录页面没有重定向到仪表板,也没有存储用户实例。。。。请帮帮我。谢谢。它没有显示任何错误,我认为密码的加密和解密有问题。登录页面没有重定向到仪表板,也没有存储用户实例。。。。请帮帮我。谢谢。您确定表单的操作是post ad,并且是由
indexAction()
处理的url吗?您确定执行流正在通过$form->isValid()
?\u process()
方法返回的值是多少?您确定执行流正在到达重定向程序行吗?一句话:第一步是了解给定输入值集的执行流程。谢谢,我已经解决了。错误出现在MD5($salt.$pass)。我使用了MD5($pass.$salt),但效果很好。感谢它没有显示任何错误,我认为密码的加密和解密有问题。登录页面没有重定向到仪表板,也没有存储用户实例。。。。请帮帮我。谢谢。您确定表单的操作是post ad,并且是由indexAction()
处理的url吗?您确定执行流正在通过$form->isValid()
?\u process()
方法返回的值是多少?您确定执行流正在到达重定向程序行吗?一句话:第一步是了解给定输入值集的执行流程。谢谢,我已经解决了。错误出现在MD5($salt.$pass)。我使用了MD5($pass.$salt),但效果很好。谢谢