Zend中的authenticate()操作存在问题



我正在使用Netbeans 8.0和Xampp 3.2.1,我收到一条错误消息"应用程序错误",我已经找到了问题所在,正如您在片段中看到的:

public function loginAction() {
    $users = new Application_Model_DbTable_User();
    $form = new Application_Form_Login();
    $this->view->form = $form;
    if ($this->getRequest()->isPost()) {
        if ($form->isValid($_POST)) {
            $data = $form->getValues();
            $auth = Zend_Auth::getInstance();
            $authAdapter = new Zend_Auth_Adapter_DbTable($users->getAdapter(), 'users');
            $authAdapter->setIdentityColumn('username')->setCredential('password');
            $authAdapter->setIdentity($data['username'])->setCredential($data['password']);
            $result = $auth->authenticate($authAdapter); // <- The problem is here
            $dump = $result->getCode();
            var_dump($dump);
            die;
            if ($result->isValid()) {
                $storage = new Zend_Auth_Storage_Session();
                $storage->write($authAdapter->getResultRowObject());
                $this->_redirect('Authentification/login');
            } else {
                $this->view->errorMessage = "Invalid username or password!";
            }
        }
    }
}

我是Zend的新手,真的不知道如何解决这个问题,有比var_dump更好的方法来解决这个问题吗?我试过xdebug,但没能让它为我的项目工作。

首先,您必须通过config/application.ini 打开显示错误

在[生产]和[开发:生产]阶段,必须将这三条生产线的检查设置为1:

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

因此,您可以获得有关异常或任何其他错误的正确错误消息。

相关内容

  • 没有找到相关文章

最新更新