2014-01-03 5 views
2

У меня возникли проблемы с этим перенаправлением, так как я настроил перенаправление на/admins/login, это мой AppContoller на CakePHP.CakePHP Session Expires перенаправляет/users/login

class AppController extends Controller { 
public $components = array(
    'Acl', 
    'Auth' => array(
     'authenticate' => array(
      'Form' => array(
       'authorize' => array(
       'Actions' => array('actionPath' => 'controllers') 
       ), 
       "userModel" => "Admin", 
      ) 
     ) 
    ), 
    'Session', 
); 

public $helpers = array(
    'Html', 
    'Form', 
    'Session' 
); 

public function beforeFilter() { 

    $this->Auth->loginAction = array('controller' => 'admins', 'action' => 'login'); 
    $this->Auth->logoutRedirect = array('controller' => 'admins', 'action' => 'login'); 
    $this->Auth->loginRedirect = "events/admin_index"; 
    //$this->Auth->loginRedirect = array('controller' => 'events', 'action' => 'admin_index'); ibutang pa ni nako nga code 
} 

public function beforeRender() { 

    $this->set("sessions", $this->Auth->user()); 
    $this->set("params", $this->params); 

} 

} 

Переадресация на/users/login редка, но по-прежнему хочет знать, почему она идет по этой ссылке. Я был бы рад, если кто-нибудь сможет мне это объяснить.

PS: Мой проект работал не для меня, он был обработан для меня.

ответ

0

Вы проверили продолжительность сеанса в Config/core.php? если он установлен в 'php' (значение по умолчанию), возможно, ваш php.ini не знает о продолжительности сеанса. Поэтому вы можете перенаправляться на/users/login, потому что ваш сеанс истек, когда вы пытались получить доступ к ограниченному представлению администратора, поэтому Auth просит вас снова войти в систему.

Вы можете использовать CakePHP session handler, чтобы выбрать способ и продолжительность длительных сеансов.

+0

Thanks Meowcate Я изучу его и попытаюсь посмотреть, случится это или нет. – himos784

0

Вы можете установить loginRedirect и logoutRedirect следующим образом.

public $components = array(
    'Session', 
    'Auth' => array(
     'loginRedirect' => array(
      'controller' => 'users', 
      'action' => 'index' 
     ), 
     'logoutRedirect' => array(
      'controller' => 'users', 
      'action' => 'login' 
     ) 
    ) 
); 
+0

Я попробую это так же, как и Джастин Атак, и дам вам мой отзыв. – himos784

+0

@ himos784 это решило вашу проблему? –

Смежные вопросы