2010-12-02 1 views
1

Я позволю новым пользователям зарегистрироваться на моем сервисе. Вот как я думаю, он должен идти: 1. Пользователь вводит свой адрес электронной почты в поле и нажимает кнопку «Зарегистрироваться». 2. Пользователь получает письмо с подтверждением со ссылкой, содержащей проверочный код. 3. Пользователь идет по этой ссылке из сообщения электронной почты, где видит сообщение о том, что его учетная запись активирована.Какова наилучшая практика регистрации нового пользователя в моем случае?

Итак, главное, чтобы выяснить, как реализовать, является вторым. Как лучше создать этот код? Должен ли я сгенерировать его, когда пользователь нажмет кнопку «Зарегистрироваться» и сохранит его в поле, скажем «verify_code» рядом с полем «электронная почта», а затем, когда он перейдет к ссылке проверки, сравните значения? Затем, если это нормально, очистите поле «verify_code» и установите для поля «user_is_active» значение «True». Или, может быть, мне не нужно вообще сохранять этот код в базе данных, но приведите какой-то алгоритм точно вовремя? Может быть, есть другие вещи, которые я должен рассмотреть?

+0

алгоритмы и генераторы меток были немного обманчивыми, поэтому я удалил их. – 2010-12-02 10:36:16

ответ

2

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

Я также использую поле тайм-аута истечения срока действия, в котором регистраторы или списания пароля должны быть обработаны пользователем своевременно.

2

Существует уже проект, который делает именно то, что вы хотите. Это называется django-registration. Я предлагаю использовать этот проект вместо того, чтобы кататься самостоятельно.

Если вы все еще хотите сделать это самостоятельно, ознакомьтесь с кодом для регистрации django. У этого есть действительно хорошие комментарии и действительно идеальное приложение, чтобы учиться.

+0

Я использую его в Google App Engine, и мне нужно что-то малое, простое, без магии. Вот почему я просто спрашиваю о логическом способе делать это, а не о полном решении. Затем я смогу применить эту логику для создания своего собственного светового кода. – 2010-12-02 10:53:00