注销后cakePHP路由器/LoginDirect不工作
好的,今天为cakephp忍者们再做一次。。 这是: 我实施了登录/注销系统。。 我在AppController中使用$components attr,并使用Auth config键设置LoginDirect和logoutRedirect。。代码如下所示:注销后cakePHP路由器/LoginDirect不工作,php,cakephp,Php,Cakephp,好的,今天为cakephp忍者们再做一次。。 这是: 我实施了登录/注销系统。。 我在AppController中使用$components attr,并使用Auth config键设置LoginDirect和logoutRedirect。。代码如下所示: public $components = array( 'DebugKit.Toolbar', 'Session', 'Auth' => array( 'loginRedirect' =>
public $components = array(
'DebugKit.Toolbar',
'Session',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'posts',
'action' => 'index'
),
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'login'
),
'authorize' => array('Controller')
)
);
注销操作如下所示:
public function logout() {
$this->Session->setFlash(__('You are now logged out.'));
return $this->redirect($this->Auth->logout());
}
事情是这样的。。每当我通过上面的logoutRedirect注销,然后登录时,用户不会以某种方式重定向到帖子/索引。。由于我已经安装了DebugKit,我试图检查正在发生的事情,意识到在cake请求参数中,控制器被设置为“pages”,操作是“display”。。这使我尝试通过在地址栏中手动输入注销操作URL来注销。。你猜怎么着?!它可以工作,用户被重定向到posts/index页面。。
有人知道我如何解决这个问题吗?或者可以为我指出一个好的来源,从中我可以了解到底发生了什么以及为什么会发生这种情况!谢谢你试试这个
$this->Auth->logout;
$this->重定向某个url 您是否提供任何公共页面?您从AppController粘贴的代码是否正确?public$components=…@cornelb是代码来自AppController。。Gaurav在他的回答中实际发布的内容对我来说很有用,但似乎是一个黑客。。与使用Auth组件的目的背道而驰。。我弄错了吗?谢谢,我不理解你所说的通过注销重定向注销是什么意思。我的意思是,每当用户被重定向到“用户”控制器中的“登录”操作时,通过身份验证中定义的配置键logoutRedirect,如上所示。。如果通过在url中输入/users/logout来访问注销操作,而不是单击注销链接,从而在AppController组件中获得重定向url集,则该操作有效,并且当用户登录时,会将其重定向到正确的url