在zend中进行身份验证

时间:2011-03-24 12:47:48

标签: php zend-framework

我正在使用zend auth进行身份验证。在我的本地机器上一切正常。

但是当我尝试连接到数据库的远程服务器而不是问题开始时。

无法登录。会话有什么问题或什么..?

     $db = new Zend_Db_Adapter_Pdo_Mysql(array(
        'host'     => 'localhost',
        'username' => 'root',
        'password' => '123456',
        'dbname'   => 'saet'
    ));
    $form = new Default_Form_Login();

    if ($this->getRequest()->isPost()) {
        //$db = Zend_Registry::get('db');
        $adapter = new Zend_Auth_Adapter_DbTable($db);
        $adapter->setTableName('users')
                    ->setIdentityColumn('username')
                    ->setCredentialColumn('password')
                    ->setCredentialTreatment('MD5(?)');

        $credentialsArray = $this->_request->getParams();

        $adapter->setIdentity($credentialsArray['username'])
                ->setCredential($credentialsArray['password']);
        $auth = Zend_Auth::getInstance();
        $result = $auth->authenticate($adapter);

        if ($result->isValid()) {

            $userInfo = $adapter->getResultRowObject(null, 'password');  
            // the default storage is a session with namespace Zend_Auth  
            $authStorage = $auth->getStorage();  
            $authStorage->write($userInfo);

            $this->_helper->FlashMessenger('Successful Login');
            return $this->_helper->redirector('index');
        } else {
            $this->_helper->FlashMessenger->addMessage(array('error',"Invalid Username/Password"));
            return $this->_helper->redirector('login');
        }

现在我将数据库详细信息更改为远程服务器。它无法登录。我是zend的新手。我收到了申请错误。

1 个答案:

答案 0 :(得分:0)

要显示错误,请按如下方式更改application.ini文件 phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 然后给我们错误。