$ this->重定向不起作用

时间:2013-01-24 01:54:01

标签: cakephp-2.0

我有这种奇怪的困境。我似乎无法从登录页面重定向。 $this->redirect在其他方法中运行良好,但不仅仅是从这个方法。我试过为它做一个虚拟方法,我已经尝试删除所有的eof文件空格,甚至尝试清空缓存。这个相同的代码似乎在localhost上运行正常,但是一旦我将它复制到服务器上,它就开始让我疯狂。我的控制器代码是

if ($this->request->is('post'))
{
    $user = $this->User->find('first', array('conditions' => array('username' => $this->request->data['username'])));
    if($user['User']['passwd'] == AuthComponent::password($this->request->data['password']))
    {           
         $this->redirect('http://www.google.com.au/');
    }
    else
    {
        echo "Wrong Password";              
    }
}

我使用我的自定义登录作为Auth Component,似乎与我不相处。

AppController的:

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' =>array('controller' => 'dashboards', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'login')
    )
);

查看:

<form name="loginform" id="loginform" method="post" class="">
    <p>
        <label for="username">Username<br />
            <input type="text" name="username" id="username" class="input" value="" size="20" />
        </label>
    </p>
    <p>
        <label for="password">Password<br />
            <input type="password" name="password" id="password" class="input" value="" size="20" />
        </label>
    </p>
    <p class="submit">
        <input type="submit" name="Submit" id="Submit" class="button button-primary button-large" value="Log In" />
    </p>
</form>

2 个答案:

答案 0 :(得分:0)

试试这个

You can set $this->Auth->loginRedirect

AppControler.php

中的

$this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'index');

答案 1 :(得分:0)

试试这个,希望它能奏效。 :-)

'Auth' => array(
          'loginRedirect' => array('controller' => 'posts', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),