2009-02-26 5 views
2

Ich bin dabei, ein neues asp.net-Projekt zu erstellen, und ich beginne gerade mit der ganzen Sache von SQLMembershipProvider. Was ich wirklich tun möchte, ist die Notwendigkeit, einen Benutzernamen zu entfernen und nur den Schlüssel für den Benutzer als E-Mail-Adresse zu haben.ASP.NET SQLMembershipProvider - E-Mail als Benutzername

Es scheint mir die einfachste Sache zu sein, die gespeicherten Prozeduren zu ändern, um nur die E-Mail-Adresse aus den Tabellen zu entfernen, und wenn jemand eine Suche per E-Mail durchführt, nur um den Schlüssel zu verwenden jemand ihre E-Mail-Adresse zu ändern ...

Bevor ich beginne, weiß jemand ein vorgewalzte Beispiel gibt. es scheint nur allzu üblich, es zu haben zu bauen.

Antwort

6

Sie müssen nichts im Anbieter ändern. Legen Sie einfach die E-Mail als Benutzernamen bei der Registrierung fest und geben Sie keine Möglichkeit in der Benutzeroberfläche an, die E-Mail-Adresse zu ändern. Es wird die Arbeit leicht machen.

+0

und natürlich, wenn Sie Benutzernamen für Personen ohne E-Mail am Ende benötigen für welchen Gründen auch immer - Sie haben immer noch, dass die Flexibilität –

+0

Sie können Ihre db wie folgt aktualisieren, wenn Sie to.UPDATE aspnet_Users Satz Username = m.Email, LoweredUserName müssen = m.LoweredEmail FROM aspnet_Users u INNER JOIN aspnet_Membership m ON u.UserId = m.UserId – jwize

1

Sie die Verfahren ändern könnten ... oder lassen Sie einfach die E-Mail- oder Benutzernamen-Felder in Ihren Forms/ui weg und verwenden Sie das eine oder andere hinter den Kulissen, um das andere Feld zu füllen.Dies können doppelte Daten sein, aber Sie müssen möglicherweise eine E-Mail finden, die nicht auch die ist Nutzername nach unten die Straße.