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_NAME
ist ein Eintrag in Ihren web.config ConnectionStrings - Sie können hier NICHT die Modell-Verbindungszeichenfolge verwenden - derSimpleMembershipProvider
erkennt dieses Format nicht! Sie müssen einenSystem.Data.SqlClient
angeben Verbindungszeichenfolge, z. -
USER_TABLE
ist 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_FIELD
ist normalerweise der Primärschlüssel Ihrer Users-Tabelle. Es muss vom Typint
sein . -
USER_ID_NAME
ist ein eindeutiger Name für den Benutzer, der eine E-Mail-Adresse sein könnte. -
autoCreateTables
auftrue
gesetzt 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.