Cakephp - ошибка входа в систему, когда для столбца базы данных установлено значение, отличное от 1

В настоящее время я работаю с cakephp, и у меня есть форма входа, которая работает отлично, я имею в виду, она работала отлично...

Моя таблица пользователей выглядит примерно так:

id user email password plan_id active

Когда пользователи имеют plan_id = 1 perfeimtamente логин работает, но когда plan_id = 3 логин не работает...

Мои настройки входа:

$this->Auth->authenticate = array(
   'Form' => array (
      'userModel ' => 'Supplier'
      'fields' = > array (
      'username ' => 'email' ,
      'password' => 'password '
   )
   ' scope ' => array (
     ' Supplier.active ' => 1
   )
);

Я не могу понять, что происходит ... Пользователь и пароль верны, когда я меняю значение столбца plan_id, я не могу войти в систему. Если вы можете мне помочь, спасибо сейчас.


person Dayglor    schedule 09.09.2015    source источник


Ответы (1)


http://book.cakephp.org/2.0/en/models/model-attributes.html#recursive

Решено с помощью «рекурсивного» => -1

$this->Auth->authenticate = array(
   'Form' => array (
      'userModel ' => 'Supplier',
      'fields' = > array (
         'username ' => 'email' ,
         'password' => 'password ',
       ),
      'scope' => array (
         'Supplier.active ' => 1
       ),
      'recursive' => -1 
);
person Dayglor    schedule 09.09.2015
comment
Ваше описание проблемы и решения не совпадают/не имеют смысла. Все рекурсивные действия предотвращают возврат объединенных данных модели - это не будет напрямую влиять на возможность входа в систему или нет. - person AD7six; 10.09.2015
comment
@AD7six Согласен, что смысла нет, но я так решил... Хотел понять, почему не аутентифицируется, если кто ответит... - person Dayglor; 10.09.2015