Авторизация

Снала надо настроить регистрацию пользователей на сайте.

Для авторизации надо создать файл 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().