Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注销后cakePHP路由器/LoginDirect不工作_Php_Cakephp - Fatal编程技术网

注销后cakePHP路由器/LoginDirect不工作

注销后cakePHP路由器/LoginDirect不工作,php,cakephp,Php,Cakephp,好的,今天为cakephp忍者们再做一次。。 这是: 我实施了登录/注销系统。。 我在AppController中使用$components attr,并使用Auth config键设置LoginDirect和logoutRedirect。。代码如下所示: public $components = array( 'DebugKit.Toolbar', 'Session', 'Auth' => array( 'loginRedirect' =>

好的,今天为cakephp忍者们再做一次。。 这是: 我实施了登录/注销系统。。 我在AppController中使用$components attr,并使用Auth config键设置LoginDirect和logoutRedirect。。代码如下所示:

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