Почему CakePHP дважды хэширует мой пароль?

Я использую стандартный механизм аутентификации CakePHP, но у меня есть некоторые проблемы с этим. Каждый раз, когда пользователь входит в систему, пароль дважды хешируется.

У меня есть компонент аутентификации в var $componets Array в app_controller.php и один в массиве var $components из моего users_controller, где определено действие входа. Я определил beforeFilter в моем users_controller вот так

  function beforeFilter(){
 parent::beforeFilter();      
  $this->Auth->autoRedirect = false; 

Теперь, когда я распечатываю свои данные $this->в функции cakephps hashPassword в файле компонента Auth (строка 854 auth.php) следующим образом:

 function hashPasswords($data) {

пр($данные);

Я вижу, что pr(...) вызывается дважды.

Может ли кто-нибудь сказать мне, почему это так, или может помочь мне найти решение, пожалуйста.


person Jeremy S.    schedule 15.12.2009    source источник


Ответы (2)


Вы должны включать только компонент Auth в ваш app_controller.php, так как ваш UsersController расширяет AppController, компонент Auth будет автоматически загружен внутри вашего UsersController.

person ifunk    schedule 15.12.2009

если он загружен в app_controller, нет необходимости загружать его снова где-либо еще. устранение проблем с аутентификацией

Попробуйте отключить хэш-функции по умолчанию своими собственными, чтобы упростить отладку изменить хеш-функцию

person djspark    schedule 17.12.2009