Добавление подтверждено к почти полному применению рельсов - PullRequest
0 голосов
/ 14 марта 2012

Сейчас я заканчиваю свой проект rails, и я сделал все, что хотел, кроме подтверждения учетной записи пользователя по электронной почте перед ее созданием. У меня уже есть это, чтобы отправить электронное письмо пользователю, но я хочу, чтобы пользователь содержал ссылку. Сейчас слишком поздно добавлять устройство, так как у меня уже есть таблица пользователей и т. Д.

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

Если у кого-то еще есть какие-то другие решения или ссылки на учебные пособия, показывающие, как добавить такую ​​функцию, это было бы замечательно. Конец так близко, но так далеко.

1 Ответ

1 голос
/ 14 марта 2012

Никогда не поздно добавить устройство. На твоем месте я бы сделал именно это.

Но, если бы я сам реализовал функцию подтверждения, я бы поступил так:

  1. Для каждого пользователя создайте хэш (как в хэш-функции MD5). Есть много способов: 1) для каждого пользователя сгенерировать его и сохранить в выделенном столбце таблицы; 2) создать из пароля соль, идентификатор пользователя и (необязательно) несколько статических строк; 3) что-то еще.

  2. Отправьте пользователю электронное письмо со ссылкой, содержащей его идентификатор и хэш.

  3. Когда кто-то нажимает на ваш URL-адрес подтверждения, вы извлекаете идентификатор пользователя и хэш из строки запроса и сравниваете их с тем, что у вас есть. Если они совпадают, вы отмечаете пользователя как подтвержденного.

...