Метод входа в систему Cake php 2.9 не работает

я новичок в торте php 2.9, у меня есть небольшая проблема в функции входа в систему, мои коды в представлении и контроллер входа в систему следующие

 public function login() {

            if($this->request->is('post')) {
                if($this->Auth->login()) {
                    return $this->redirect($this->Auth->redirectUrl());
                } else {
                    $this->Session->setFlash('Invalid Username or Password!');
                }
            }

        }

и мои коды файлов view/users/login

Авторизоваться

<?php 

    echo $this->form->create('User');
    echo $this->form->input('user_name');
    echo $this->form->input('password');
    echo $this->form->end('login');

    ?>

Имя БД — Пользователи, имя класса модели — Пользователь, имя столбца БД = имя_пользователя и пароль

Спасибо


person Qazalbash    schedule 19.03.2017    source источник
comment
Пожалуйста, поделитесь кодом компонента аутентификации   -  person tarikul05    schedule 19.03.2017


Ответы (1)


Убедитесь, что ваш AppController.php правильно настроен для этого.

// app/Controller/AppController.php
public $components = array(
    'Auth' => array(
        'loginAction' => array(
            'controller' => 'users',
            'action' => 'login',
        ),
        'authError' => 'Did you really think you are allowed to see that?',
        'authenticate' => array(
            'Form' => array(
                'fields' => array(
                  'username' => 'user_name', //Default is 'username' in the userModel
                  'password' => 'password'  //Default is 'password' in the userModel
                )
            )
        )
    )
);

Здесь самое главное

'authenticate' => array(
    'Form' => array(
        'fields' => array(
          'username' => 'user_name', // important!!!!
          'password' => 'password' 
        )
    )
)

Подробности проверьте Настройка обработчиков аутентификации

person tarikul05    schedule 19.03.2017
comment
Это решение, спасибо - person Qazalbash; 19.03.2017
comment
@HassamAliQazalbash Тогда вы должны принять ответ - person tarikul05; 19.03.2017
comment
Вы также можете сказать мне, как я могу создать значение по умолчанию? $this-›request-›data['Project']['visible'] = 2; как это не работает - person Qazalbash; 19.03.2017
comment
Вы можете установить значение базы данных по умолчанию или вы можете установить его перед сохранением - person tarikul05; 19.03.2017
comment
я использую это, но теперь оно работает, пожалуйста, посмотрите, спасибо, 'if ($this-›request-›is('post')) { $this-›Project-›create(); $this-›request-›data['Project']['visible'] = 2; if ($this-›Project-›save($this-›request-›data))' - person Qazalbash; 19.03.2017