Ich verwende derzeit eine sehr einfache benutzerdefinierte Implementierung von MembershipProvider in einer ASP.NET-Webanwendung. Da meine Anforderungen an die Mitgliedschaft steigen, scheint es sehr sinnvoll zu sein, eine vorhandene, funktionsreiche und gut getestete Implementierung wie SqlMembershipProvider zu verwenden. Ich habe herausgefunden, wie man die gespeicherten aspnet_Mebership-Prozeduren verwendet, um Benutzer aus meinen benutzerdefinierten Tabellen zu erstellen, aber ich stecke auf das Passwort fest. Meine benutzerdefinierte Implementierung verwendet kein Salz und SqlMembershipProvider scheint es zu erfordern.Wie von benutzerdefinierten Mitgliedschaftsanbieter zu SqlMembershipProvider migrieren?
Ich möchte, dass dies für meine Benutzer reibungslos abläuft und nicht erfordert, dass alle ihr Kennwort bei der ersten Anmeldung nach der Änderung aktualisieren.
Wie migriere ich Hash-Passwörter von einer benutzerdefinierten Implementierung (siehe unten) zu SqlMemberhipProvider?
FormsAuthentication.HashPasswordForStoringInConfigFile(password, FormsAuthPasswordFormat.SHA1.ToString())
aktualisieren: sollte ich klarstellen, dass meine benutzerdefinierten Anbieter eine Implementierung von MembershipProvider ist, nur nicht ein voll ausgestatteter ein. Außerdem habe ich versucht, aspnet _Membership
_CreateUser mit leeren Salz, aber die Hashes nicht übereinstimmen.
Ich persönlich finde die Standard-Mitgliedschaft Anbieter einen Schmerz im Hintern, und im Grunde völlig unbrauchbar .. YMMV: P – Thorarin
@Thorarin - Was magst du nicht über SqlMembershipProvider? – jrummell
Ich gab nach ein paar Tagen des Versuchens auf, meine Benutzer zu migrieren. Ich werde nur die fehlenden Funktionen zu meinem benutzerdefinierten Anbieter hinzufügen. – jrummell