我有这种奇怪的困境。我似乎无法从登录页面重定向。 $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>
答案 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'),