Могу ли я использовать модуль аутентификации kohana 3.0 с 3.2?

Я пытаюсь обновить свое приложение до Kohana 3.2, но у меня проблемы, потому что все мои пользователи находятся в базе данных с паролями, зашифрованными Auth из Kohana 3.0. Похоже, 3.2 делает это по-другому. Могу ли я настроить 3.2 для использования того же шифрования?


person Rich Standbrook    schedule 26.05.2012    source источник


Ответы (1)


Для этого нет простого способа. Kohana 3.2 использует hash_hmac() вместо hash+соль. Также есть изменения в рабочем процессе входа в систему (например, Model_User в 3.2 не содержит никакой логики входа). Вам нужно будет скопировать много кода из 3.0 в 3.2, я не думаю, что это хорошая идея.

Как насчет отправки писем со ссылкой для восстановления пароля? Старый пароль будет сломан, но пользователь может просто переопределить пароль. И не забудьте выйти из системы всех "запомненных" пользователей (где-то в вашем базовом контроллере метод before() идеально подходит для этого).

PS. Извините за мой английский, это не мой родной язык.

person biakaveron    schedule 26.05.2012
comment
Ваш английский в полном порядке, не нужно извиняться ;) - person matino; 28.05.2012
comment
Абсолютно, прекрасно понял. Я решил снова вернуться к kohana 3.0. Не могу позволить себе срыв. Огромного стыда нет было работать с 3.0 паролями в 3.2. Неважно. Однако, спасибо. - person Rich Standbrook; 28.05.2012
comment
@koorb, модуль Auth в Kohana 3.2 позволяет вам определить метод хеширования (см. config/config.php). В таком случае, не могли бы вы изменить этот метод хэширования на тот, что использовался в Kohana 3.0? - person laurent; 31.05.2012
comment
Я пробовал, я просто не могу заставить его кодировать так же, как те, которые я сохранил в базе данных. - person Rich Standbrook; 15.06.2012