Я пытаюсь обновить свое приложение до Kohana 3.2, но у меня проблемы, потому что все мои пользователи находятся в базе данных с паролями, зашифрованными Auth из Kohana 3.0. Похоже, 3.2 делает это по-другому. Могу ли я настроить 3.2 для использования того же шифрования?
Могу ли я использовать модуль аутентификации kohana 3.0 с 3.2?
Ответы (1)
Для этого нет простого способа. Kohana 3.2 использует hash_hmac()
вместо hash
+соль. Также есть изменения в рабочем процессе входа в систему (например, Model_User
в 3.2 не содержит никакой логики входа). Вам нужно будет скопировать много кода из 3.0 в 3.2, я не думаю, что это хорошая идея.
Как насчет отправки писем со ссылкой для восстановления пароля? Старый пароль будет сломан, но пользователь может просто переопределить пароль. И не забудьте выйти из системы всех "запомненных" пользователей (где-то в вашем базовом контроллере метод before()
идеально подходит для этого).
PS. Извините за мой английский, это не мой родной язык.
person
biakaveron
schedule
26.05.2012
Ваш английский в полном порядке, не нужно извиняться ;)
- person matino; 28.05.2012
Абсолютно, прекрасно понял. Я решил снова вернуться к kohana 3.0. Не могу позволить себе срыв. Огромного стыда нет было работать с 3.0 паролями в 3.2. Неважно. Однако, спасибо.
- person Rich Standbrook; 28.05.2012
@koorb, модуль Auth в Kohana 3.2 позволяет вам определить метод хеширования (см. config/config.php). В таком случае, не могли бы вы изменить этот метод хэширования на тот, что использовался в Kohana 3.0?
- person laurent; 31.05.2012
Я пробовал, я просто не могу заставить его кодировать так же, как те, которые я сохранил в базе данных.
- person Rich Standbrook; 15.06.2012