Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 06.12.2017 09:50:29

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Миграция с CMS

Добрый день.
Переношу бд с престашоп в бд новой системы на ларавеле. Все четко перенеслось, но вот одна проблема. Как быть с паролями? Как вообще правильно перенести покупателей что бы они могли войти в свой акк? Хеш паролей совсем разный ведь. Как это вообще делают?)

Не в сети

#2 06.12.2017 10:12:40

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Миграция с CMS

Нашел где престашоп хеширует пароль
https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/Tools.php#L1180
сам _COOKIE_KEY_ на лок сервере вот так выглядит

define('_COOKIE_KEY_', '0d6Z7qEgRr1hPzspEfrpUFo7NT3YxeKVxMSx2sxqTantiF66Vbuzpaop');

Окей, теперь ясно как все это хешируется.
Теперь новый вопрос: как сделать что бы у новых покупателей пасс хешировался ларавелевским хешером, а старые использовали кастомный хешер? И как определять старый это покупатель, или новый?)

Не в сети

#3 06.12.2017 11:25:32

Re: Миграция с CMS

И как определять старый это покупатель, или новый?)

проставить специальный флаг для всех старых пользователей.
в общем, ты дал ответ - использовать два разных хэша, для старых и новых.

Изменено covobo (06.12.2017 11:26:51)

Не в сети

#4 06.12.2017 20:31:39

Re: Миграция с CMS

TrueKanonir пишет:

Теперь новый вопрос: как сделать что бы у новых покупателей пасс хешировался ларавелевским хешером, а старые использовали кастомный хешер? И как определять старый это покупатель, или новый?)

При регистрации просто доверь всё делать Laravel, у новых юзеров никаких вариантов не будет.
А при аутентификации пытайся применить дефолтовый метод, а при неудаче — старый. И если вдруг старый сработал, то тут же генерируй и сохраняй новый хеш. Только в этот момент у тебя есть такая возможность, т.к. ты обладаешь незашифрованным паролем и знаешь, что он верный.

Такой подход я видел в движке форума punbb, там в какой-то момент схема хеширования поменялась. Если не лениво — найди его сорцы.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#5 08.12.2017 18:07:47

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Миграция с CMS

  1. проставить специальный флаг для всех старых пользователей.

в общем, ты дал ответ — использовать два разных хэша, для старых и новых.

  1. При регистрации просто доверь всё делать Laravel, у новых юзеров никаких вариантов не будет.

А при аутентификации пытайся применить дефолтовый метод, а при неудаче — старый. И если вдруг старый сработал, то тут же генерируй и сохраняй новый хеш. Только в этот момент у тебя есть такая возможность, т.к. ты обладаешь незашифрованным паролем и знаешь, что он верный.
Спасибо. так и сделал

Изменено TrueKanonir (08.12.2017 18:07:56)

Не в сети

#6 20.02.2018 20:14:59

Re: Миграция с CMS

Апну старую темку чтобы дать ссылки на специфичные именно для Laravel подходы.

Здесь предлагается пере-хешивать с помощью своего класса хешера.
https://laracasts.com/discuss/channels/ … -passwords

Здесь предлагается повесить слушателя на событие Illuminate\Auth\Events\Attempting
http://martincarlin.uk/2017/07/04/larav … rd-hashes/
лично мне именно этот вариант симпатичен.

Да прибудет с вами сила!


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела