2009-02-26 9 views
2

Je suis sur le point de commencer à construire un nouveau projet asp.net, et je commence tout juste avec SQLMembershipProvider. Ce que je veux vraiment faire est de supprimer le besoin d'un nom d'utilisateur et avoir juste la clé de l'utilisateur comme adresse e-mail. Il me semble que le plus simple serait de changer les procédures stockées pour simplement enlever l'adresse e-mail des tables, et quand quelqu'un fait une recherche par e-mail, juste pour utiliser la touche (je dois aussi faire face à quelqu'un changer leur adresse e-mail ...ASP.NET SQLMembershipProvider - email en tant qu'utilisateur

Avant de commencer, personne ne sait par exemple un pré-rouler là-bas. il semble trop fréquent d'avoir à construire.

Répondre

6

Vous n'avez pas besoin de modifier quoi que ce soit dans le fournisseur. Il suffit de définir l'adresse e-mail en tant que nom d'utilisateur lors de l'inscription et ne fournissez aucun moyen dans l'interface utilisateur pour modifier l'adresse e-mail. Ça va faire le travail facilement.

+0

et bien sûr si vous finissez par les noms d'utilisateur besoin pour les personnes sans e-mail pour une raison quelconque - vous avez encore cette flexibilité –

+0

Vous pouvez mettre à jour votre base de données comme celui-ci si vous avez besoin to.UPDATE aspnet_Users set UserName = m.Email, LoweredUserName = m.LoweredEmail DE aspnet_Users u jointure aspnet_Membership m ON u.UserId = m.UserId – jwize

1

Vous pouvez modifier les procédures ... ou omettez simplement les champs email ou nom d'utilisateur dans vos formulaires/ui et utilisez l'un ou l'autre dans les coulisses pour remplir l'autre champ.Cela pourrait être des données en double, mais vous pourriez avoir besoin d'avoir un email qui n'est pas aussi nom d'utilisateur la route.