Zend中的_forward()不起作用?

时间:2011-04-21 20:45:29

标签: php zend-framework

这是一段代码:

    public function loginAction()
{
    $form = new Application_Form_Login();
    $this->view->form = $form;

    if($this->_request->isPost())
    {
        self::$dataForm = $this->_request->getPost();
        if($this->form->isValid(self::$dataForm))
        {
            return $this->_forward('authorization');
        } else
        {
            $this->form->populate(self::$form);
        }
    }

}

public function authorizationAction()
{
    if($this->_request->isPost())
    {
        $auth = Zend_Auth::getInstance();
        $authAdapter = new Application_Model_User($this->user->getAdapter(),'user');
        $authAdapter->setIdentityColumn('USERNAME')
                    ->setCredentialColumn('PASSWORD');
        $password = md5(self::$dataForm['password']);
        $authAdapter->setIdentity(self::$dataForm['username']);
        $authAdapter->setCredental($password);

        $result = $auth->authenticate($authAdapter);
        echo 'ok';
        /*
        if($result->isValid())
        {
            //$this->_forward('authorized', 'user');
            echo 'ok';
        }*/
    }
}

知道为什么它不起作用?我没有得到任何错误只是空白页。

2 个答案:

答案 0 :(得分:0)

你不应该打电话给if($form->isValid(self::$dataForm))吗?

答案 1 :(得分:0)

据我所知,使用$ this-> _forward()是一个坏主意,因为它再次调用了调度循环。

我个人会将授权代码放入模型类中并将其传递给用户名&表格中的密码。