Ошибки входа не уверены почему - PullRequest
2 голосов
/ 30 ноября 2011

Я использую логин с областью действия, чтобы убедиться, что учетная запись пользователя активна. Если не удается войти в систему, как я могу узнать, произошел ли сбой из-за того, что электронное письмо не было сопоставлено или учетные записи не были активированы?

Кроме того, я не понял всю документацию в кулинарных книгах cakephp, не могли бы вы взглянуть на мой раздел аутентификации в моем массиве компонентов?
Поле Email в html-таблице и sql-таблице называется AccountEmail
Поле Пароль в html-таблице и sql-таблице называется 'AccountPassword'
Строка в таблице sql для активных учетных записей называется AccountActive и имеет тип int со значением 0, если пользователь не активен, и 1, если оно активно.

'Auth' => array(
        'logoutRedirect' => array('controller' => 'Accounts', 'action' => 'login'),
        'authError' => 'You can\'t Access That Page',
        'authorize' => array('Controller'),
        'fields' => array('AccountEmail' => 'AccountEmail', 'AccountPassword' => 'AccountPassword'),
        'scope' => array('AccountActive' => '1')
    )

1 Ответ

3 голосов
/ 30 ноября 2011

Вам не хватает, какой обработчик аутентификации использовать, и ваша конфигурация полей была неправильной.

Я предполагаю, что вы хотите использовать форму для входа в систему:

/**
 * Auth component configuration
 */
public $components = array(
  'Auth'=> array(
    'logoutRedirect' => array(
      'controller' => 'Accounts', 
      'action' => 'login'
    ),
    'authError' => 'You can\'t Access That Page',
    'authorize' => array('Controller'),
    'authenticate' => array(
      'Form' => array(
        'fields' => array(
          'username' => 'AccountEmail',
          'password' => 'AccountPassword'
        ),
        'scope' => array('AccountActive' => '1')
      )
    )
  )
);  
...