2013-03-13 6 views
0

Iam new для cakephp и iam, использующих auth для моих учетных записей ... Я хочу перенаправить на страницу входа в систему, используя мой опыт сеансов для всех моих действий ... Я написал код как \Как перенаправить на страницу входа в систему сеанс Experies

public function index() {   
    if(!$this->Session->read('username')) 
     $this->logout(); 
    $this->set('users', $this->paginate());   
} 

, но и для всех моих действий, таких как добавление(), редактировать() ... каждый раз, когда мне нужно проверить переменную сессии ... если я пишу условие в __construct как

public function __construct() 
{ 
    if(!$this->Session->read('username')) 
     $this->logout(); 
} 

это дает мне ошибку, как

Error: Call to a member function read() on a non-object 

кто может предложить мне

+0

try [Auth Component] (http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html) –

ответ

0

Попробуйте

if (!$this->Session->valid()) { 
    $this->logout(); 
} 
+0

Нет, это дало мне ошибку: вызов функции-члена действителен() на не-объекте \t " – Gautam3164

+0

Как насчет сеанса-> check()? – Ares

+0

Одинаковая ошибка: вызов функции функции члена() на не-объекте – Gautam3164

0

Похоже, вы не включили SessionComponent.

Попробуйте добавить

$components = array('Session');

в вашем AppController первым.

Затем проверьте документацию для получения дополнительной информации: http://api.cakephp.org/2.3/class-SessionComponent.html

+0

Я добавил, что даже – Gautam3164

+0

Можете ли вы опубликовать полный код контроллера? и код из вашего AppController? – nahri

+0

Также попробуйте перестроить эти два примера из Поваренной книги. http://book.cakephp.org/2.0/ru/tutorials-and-examples/blog-auth-example/auth.html и http://book.cakephp.org/2.0/en/tutorials-and-examples/ простой ACL-контролируемый приложение/простой ACL-контролируемый application.html. Если вам нужно проверить свою сессию в действии _EVERY_ в контроллере _EVERY_, вы делаете что-то неправильно. Cake уже предоставляет эту функцию в AuthComponent. – nahri

0

Использование AuthComponent если сессия истекает, и пользователь пытается получить доступ к защищенной странице, он будет автоматически перенаправлен на страницу входа в систему.

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