在beforeFilter中的Cakephp3重定向不起作用

时间:2015-06-01 19:02:20

标签: redirect controller cakephp-3.0 before-filter

当我在控制器的beforeFilter中添加$ this->重定向语句并在之后返回时,将忽略重定向。当我在控制器的动作中移动重定向语句时,它工作正常。有人知道我做错了吗?

public function beforeFilter(Event $event) {
    if( true ){ //if a sample condition is true
        return $this->redirect([
            'controller' => 'test',
            'action' => 'action'
        ]);
    }

2 个答案:

答案 0 :(得分:1)

由于我只是从AppController中的beforeFilter返回响应对象,因此重定向不起作用。 有关详细信息,请查看https://github.com/cakephp/cakephp/issues/6705

答案 1 :(得分:0)

如果有任何解决方案无效,请执行以下代码。

public function beforeFilter(Event $event) {
if( true ){ //if a sample condition is true
    $url = '/'; //set url here
    echo '<script type="text/javascript">';
        echo 'window.location="'.$url.'"';
    echo '</script>';
    exit;
}