Rein als Referenzpunkt kann es eine gute Idee sein, eine neue Internetanwendungsvorlage eines ASP.NET MVC 4-Webanwendungsprojekts zu erstellen (z. B. über Datei> Neues Projekt).
Wenn Sie sich den AccountController ansehen , wie @zms6445 sagt, ist es mit einem InitializeSimpleMembership verziert Attribut. Die Implementierung dieses Attributs finden Sie in der Datei „InitializeSimpleMembershipAttribute.cs“ im Ordner „Filters“ im Stammverzeichnis.
Das hier ist der fehlende Teil des Puzzles – Sie müssen Ihre vorhandene Datenbank verbinden, damit sie vom SimpleMembershipProvider verwendet wird . Dies ist der Code, den Sie benötigen:
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
try
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException("Something is wrong", ex);
}
}
}
Einige Dinge zu beachten:
-
CONNECTION_STRING_NAMEist ein Eintrag in Ihren web.config ConnectionStrings - Sie können hier NICHT die Modell-Verbindungszeichenfolge verwenden - derSimpleMembershipProvidererkennt dieses Format nicht! Sie müssen einenSystem.Data.SqlClientangeben Verbindungszeichenfolge, z. -
USER_TABLEist die Tabelle in Ihrer Datenbank, in der zusätzliche Benutzerinformationen wie Vorname, Nachname usw. gespeichert werden. Diese wird über das USER_ID_FIELD mit den automatisch generierten Tabellen verknüpft. -
USER_ID_FIELDist normalerweise der Primärschlüssel Ihrer Users-Tabelle. Es muss vom Typintsein . -
USER_ID_NAMEist ein eindeutiger Name für den Benutzer, der eine E-Mail-Adresse sein könnte. -
autoCreateTablesauftruegesetzt ist um sicherzustellen, dass die für das Funktionieren der SimpleMembership erforderlichen Tabellen erstellt werden, falls sie noch nicht vorhanden sind.
Natürlich wird dieser Code nur ausgelöst, wenn Sie über den AccountController auf eine Seite gelangen , da diese durch das Attribut dekoriert wurde. Sie könnten dort einen Haltepunkt einfügen und es in Aktion sehen.
Dies sollte Ihnen den Einstieg erleichtern - die Internetanwendungsvorlage ist eine ziemlich gute Vorlage, der Sie folgen können, wenn Sie nicht weiterkommen.
Hoffe das hilft.