Авторизация
Снала надо настроить регистрацию пользователей на сайте.
Для авторизации надо создать файл app/View/Users/login.ctp, которая будет открываться по умолчанию для неавторизованных посетителей сайта.
В файле надо добавить форму авторизации.
<!-- app/View/Users/login.ctp --> <?= $this->Flash->render('auth'); // сообщения авторизации для CakePHP 2.7 и выше ?> <?= $this->Session->flash('auth'); // сообщения авторизации до CakePHP 2.7 ?> <?= $this->Form->create('User'); ?> <?= $this->Form->input('username'); ?> <?= $this->Form->input('password'); ?> <?= $this->Form->end('Войти'); ?>
Авторизация происходит через метод $this->Auth->login()
. Данный метод должен срабатывать после отправки формы из кода выше, для этого в файле app/Controller/UsersController.php надо добавить код ниже.
# app/Controller/UsersController.php public function login() { // если есть запрос из формы, то выполнятся код авторизации if ($this->request->is(array('post', 'put'))) { if ($this->Auth->login()) { return $this->redirect($this->Auth->redirectUrl()); } else { $this->Flash->error('Неправильно указан логини или пароль'); // $this->Session->setFlash() для CakePHP ниже версии 2.7 } } }
Выход происходит через метод $this->Auth->logout()
.