2010-12-02 34 views
1

Je vais laisser de nouveaux utilisateurs s'inscrire sur mon service. Voici comment je pense qu'il devrait aller: 1. L'utilisateur entre son email dans un champ et clique sur le bouton Enregistrer. 2. L'utilisateur reçoit un e-mail de confirmation avec un lien contenant un code de vérification. 3. L'utilisateur passe par ce lien à partir du message électronique où il voit un message que son compte est maintenant activé. Donc, le principal point que je suis de comprendre comment mettre en œuvre est le second. Comment puis-je mieux générer ce code? Dois-je le générer lorsque l'utilisateur clique sur le bouton Enregistrer et enregistrer dans le champ, dire "code_de_vérification" près du champ "email" et puis quand il va au lien de vérification, comparez les valeurs? Ensuite, si cela vous convient, effacez le champ "verification_code" et définissez le champ "user_is_active" sur "True". Ou peut-être que je n'ai pas à garder ce code dans la base de données, mais faire une vérification juste à temps avec un algorithme? Peut être qu'il y a d'autres choses que je devrais considérer?Quelle est la meilleure pratique pour enregistrer un nouvel utilisateur dans mon cas?

+0

les algorithmes de tags et generatore étaient un peu trompeurs donc je les ai enlevés. –

Répondre

2

J'ai trouvé utile de mettre un code de vérification dans la base de données et de l'utiliser comme vous l'avez suggéré. Le même champ peut faire un double devoir pour, par exemple, demandes de réinitialisation du mot de passe

J'utilise également un champ de délai d'expiration, où les enregistrements ou les réinitialisations de mot de passe doivent être traitées par l'utilisateur en temps opportun.

2

Il existe déjà un projet qui fait exactement ce que vous voulez. Ça s'appelle django-registration. Je suggère d'utiliser ce projet au lieu de rouler le vôtre.

Si vous voulez toujours le faire vous-même, regardez le code pour l'enregistrement de django. Il a vraiment de bons commentaires et est vraiment une application parfaite pour apprendre.

+0

Je dois l'utiliser dans Google App Engine et j'ai besoin de quelque chose de petit, de simple, sans trop de magie. C'est pourquoi je ne fais que poser des questions sur la manière logique de faire cela, pas une solution complète. Ensuite, je serai en mesure d'appliquer cette logique pour créer mon propre code de lumière. –