2012-01-26 9 views
0

何らかの理由で、adminセクションにあるときに、beforefilterがappcontrollerで実行されません。CakePHPなぜ私のappcontrollerは管理者のために働かないのですか?

私はこれをdie();でテストします。何が問題なの?

私がログアウトすると、loginに転送され、appcontrollerが実行されます。ログインすると問題が発生します。

ルータ:

Router::connect('/', array('controller' => 'static', 'action' => 'index')); 
/** 
* ...and connect the rest of 'Pages' controller's urls. 
*/ 
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display')); 
/** 
* PLUGIN MATCH 
*/ 
if ($plugins = Configure::listObjects('plugin')) { 
    $pluginMatch = implode('|', array_map(array('Inflector', 'underscore'), $plugins)); 
    Router::connect("/:language/:plugin/:controller/:action/*", array('action' => null), array('plugin' => $pluginMatch) ); 
} 
/** 
* ADMIN 
*/ 
Router::connect('/:language/admin/:controller/:action/*', array('action' => null, 'admin'=> true), array('language' => '[a-z]{3}')); 
Router::connect('/:language/admin', array('controller' => 'admin', 'action' => 'index'), array('language' => '[a-z]{3}')); //...and set the admin default page 
/** 
* LANGUAGES 
*/ 
Router::connect('/:language/home', array('controller' => 'static', 'action' => 'index')); 
Router::connect('/:language/about', array('controller' => 'static', 'action' => 'about')); 
// ...and more of those regular redirects here 

のAppControllerのbeforeFilter:

function beforeFilter(){ 
    die(); 
    // LANGUAGES 
    $this->_setLanguage(); 

    $this->Auth->authorize = 'actions'; // CAN SOMEBODY EXPLAIN TO ME WHAT THIS DOES? 
    $this->Auth->logoutRedirect = array('controller' => 'static', 'action' => 'index', 'language'=>$this->Session->read('Config.language')); 
    $this->Auth->loginRedirect = array('controller' => 'galleries', 'action' => 'index', 'language'=>$this->Session->read('Config.language')); 
    $this->Auth->loginAction = array('controller'=>'users', 'action'=>'login', 'plugin'=>null,'language'=>$this->Session->read('Config.language')); 
    // ACO 
    $this->Auth->actionPath = 'controllers/'; // The main ACO. Maybe we need to change something for languages? 
    if($this->Auth->user()){ 
     $this->set('u', $this->Auth->user()); 
    } 
} 

これはなぜですか?

+1

特定のコントローラにはbeforeFilterがありますか?それはparent :: beforeFilterを呼び出しますか? – mark

+0

uhm ... right。答えを書いて、それを正しくマークすることができますか? – mgPePe

答えて

1

特定のコントローラにはbeforeFilterがありますか?それはparent :: beforeFilterを呼び出しますか?

単純なものは時々見落とされます。

関連する問題