Freigeben über


Hinzufügen von Sicherheit und Mitgliedschaft zu einer ASP.NET Web Pages(Razor)-Website

von Tom FitzMacken

In diesem Artikel wird erläutert, wie Sie eine ASP.NET Web Pages -Website (Razor) schützen, sodass einige der Seiten nur für Personen verfügbar sind, die sich anmelden. (Sie werden auch sehen, wie Sie Seiten erstellen, auf die jeder zugreifen kann.)

Was Sie lernen werden:

  • Erstellen einer Website mit einer Registrierungsseite und einer Anmeldeseite, sodass Sie für einige Seiten den Zugriff nur auf Mitglieder beschränken können.
  • Erstellen von öffentlichen seiten und nur memberbasierten Seiten
  • Hier erfahren Sie, wie Sie Rollen definieren, bei denen es sich um Gruppen handelt, die über unterschiedliche Sicherheitsberechtigungen für Ihre Website verfügen, und wie Sie Benutzer einer Rolle zuweisen.
  • Verwenden von CAPTCHA, um zu verhindern, dass automatisierte Programme (Bots) Mitgliedskonten erstellen.

Dies sind die ASP.NET Features, die im Artikel vorgestellt werden:

  • Die WebMatrix Starter Site-Vorlage .
  • Das WebSecurity Hilfsprogramm und die Roles Klasse.
  • Das ReCaptcha Hilfsprogramm.

Im Tutorial verwendete Softwareversionen

  • ASP.NET Web Pages (Razor) 2
  • WebMatrix 3
  • ASP.NET-Webhilfsbibliothek

Sie können Ihre Website so einrichten, dass sich Benutzer bei ihr anmelden können, d. h., damit die Website die Mitgliedschaft unterstützt. Dies kann aus vielen Gründen nützlich sein. Ihre Website kann z. B. Über Seiten verfügen, die nur für Mitglieder verfügbar sein sollten. In einigen Fällen müssen sich Benutzer möglicherweise anmelden, um Ihnen Feedback zu senden oder einen Kommentar zu hinterlassen.

Selbst wenn Ihre Website die Mitgliedschaft unterstützt, müssen sich Benutzer nicht unbedingt anmelden, bevor sie einige der Seiten auf der Website verwenden. Benutzer, die nicht angemeldet sind, werden als anonyme Benutzer bezeichnet.

Ein Benutzer kann sich auf Ihrer Website registrieren und sich dann bei der Website anmelden. Die Website erfordert einen Benutzernamen (eine E-Mail-Adresse) und ein Kennwort, um zu bestätigen, dass Benutzer die Person sind, die sie zu sein behaupten. Dieser Prozess der Anmeldung und Bestätigung der Identität eines Benutzers wird als Authentifizierung bezeichnet.

Sie können Sicherheit und Mitgliedschaft auf unterschiedliche Weise einrichten:

  • Wenn Sie WebMatrix verwenden, besteht eine einfache Möglichkeit darin, eine neue Website basierend auf der Vorlage Starterwebsite zu erstellen. Diese Vorlage ist bereits für Sicherheit und Mitgliedschaft konfiguriert und verfügt bereits über eine Registrierungsseite, eine Anmeldeseite usw.

    Die mit der Vorlage erstellte Website verfügt auch über eine Möglichkeit, sich mit einer externen Website wie Facebook, Google oder Twitter anzumelden.

  • Wenn Sie einer vorhandenen Website Sicherheit hinzufügen möchten oder wenn Sie die Vorlage Starterwebsite nicht verwenden möchten, können Sie Eine eigene Registrierungsseite, Anmeldeseite usw. erstellen.

Dieser Artikel konzentriert sich auf die erste Option, nämlich das Hinzufügen von Sicherheit mithilfe der Vorlage "Starterwebsite" . Es enthält auch einige grundlegende Informationen zum Implementieren Ihrer eigenen Sicherheit und dann Links zu weiteren Informationen dazu, wie Sie dies tun. Es gibt auch Informationen zum Aktivieren externer Anmeldungen, die in einem separaten Artikel ausführlicher beschrieben werden.

Erstellen von Websitesicherheit mithilfe der Starterwebsitevorlage

In WebMatrix können Sie die Vorlage Starterwebsite verwenden, um eine Website zu erstellen, die Folgendes enthält:

  • Eine Datenbank, die zum Speichern von Benutzernamen und Kennwörtern für Ihre Mitglieder verwendet wird.
  • Eine Registrierungsseite, auf der anonyme (neue) Benutzer registriert werden können.
  • Eine Anmelde- und Abmeldeseite.
  • Eine Seite zur Kennwortwiederherstellung und -zurücksetzung.

Im folgenden Verfahren wird beschrieben, wie Sie den Standort erstellen und konfigurieren.

  1. Starten Sie WebMatrix, und wählen Sie auf der Seite Schnellstartdie Option Website aus Vorlage aus.

  2. Wählen Sie die Vorlage Starterwebsite aus, und klicken Sie dann auf OK. WebMatrix erstellt eine neue Website.

  3. Klicken Sie im linken Bereich auf die Auswahl des Arbeitsbereichs Dateien .

  4. Öffnen Sie im Stammordner Ihrer Website die Datei _AppStart.cshtml , bei der es sich um eine spezielle Datei handelt, die verwendet wird, um globale Einstellungen zu enthalten. Es enthält einige Anweisungen, die mit den // Zeichen auskommentiert werden:

    //WebMail.SmtpServer = "mailserver.example.com";
    //WebMail.EnableSsl = true;
    //WebMail.UserName = "username@example.com";
    //WebMail.Password = "your-password";
    //WebMail.From = "your-name-here@example.com";
    

    Diese Anweisungen konfigurieren das WebMail Hilfsprogramm, das zum Senden von E-Mails verwendet werden kann. Das Mitgliedschaftssystem kann E-Mail verwenden, um Bestätigungsmeldungen zu senden, wenn Sich Benutzer registrieren oder wenn sie ihre Kennwörter ändern möchten. (Nach der Registrierung erhalten Benutzer beispielsweise eine E-Mail mit einem Link, auf den sie klicken können, um den Registrierungsvorgang abzuschließen.)

    Das Senden von E-Mails erfordert Zugriff auf einen SMTP-Server, wie unter Hinzufügen von Email zu einer ASP.NET Web Pages Site beschrieben. Sie speichern die E-Mail-Einstellungen in dieser zentralen datei _AppStart.cshtml , sodass Sie sie nicht wiederholt in jede Seite codieren müssen, die E-Mails senden kann. (Sie müssen keine SMTP-Einstellungen konfigurieren, um eine Registrierungsdatenbank einzurichten. Sie benötigen smtp-Einstellungen nur, wenn Sie Benutzer anhand ihres E-Mail-Alias überprüfen und Benutzern das Zurücksetzen eines vergessenen Kennworts ermöglichen möchten.)

  5. Heben Sie die Auskommentierung der Anweisungen auf, indem Sie vor jeder Anweisung aus entfernen // .

    Wenn Sie keine E-Mail-Bestätigung einrichten möchten, können Sie diesen Schritt und den nächsten Schritt überspringen. Wenn die SMTP-Werte nicht festgelegt sind, ist das neue Konto sofort ohne Bestätigungs-E-Mail verfügbar.

  6. Ändern Sie die folgenden E-Mail-bezogenen Einstellungen im Code:

    • Legen Sie WebMail.SmtpServer auf den Namen des SMTP-Servers fest, auf den Sie Zugriff haben.

    • Behalten Sie WebMail.EnableSsl die Einstellung bei true. Diese Einstellung schützt die Anmeldeinformationen, die an den SMTP-Server gesendet werden, indem sie verschlüsselt werden.

    • Legen Sie auf den Benutzernamen für Ihr SMTP-Serverkonto fest WebMail.UserName .

    • Legen Sie auf das Kennwort für Ihr SMTP-Serverkonto fest WebMail.Password .

    • Legen Sie auf Ihre eigene E-Mail-Adresse fest WebMail.From . Dies ist die E-Mail-Adresse, von der die Nachricht gesendet wird.

      Hinweis

      Tipp Weitere Informationen zu den Werten für diese Eigenschaften finden Sie unter Konfigurieren von Email-Einstellungen unter Anpassen Site-Wide Verhaltens für ASP.NET Web Pages.

  7. Speichern und schließen Sie _AppStart.cshtml.

  8. Führen Sie die Seite Default.cshtml in einem Browser aus.

    security-membership-2

    Hinweis

    Wenn ein Fehler angezeigt wird, der Ihnen mitteilt, dass eine Eigenschaft eine instance von ExtendedMembershipProvidersein muss, ist der Standort möglicherweise nicht für die Verwendung des ASP.NET Web Pages Membership System (SimpleMembership) konfiguriert. Dies kann manchmal auftreten, wenn der Server eines Hostinganbieters anders als Ihr lokaler Server konfiguriert ist. Fügen Sie das folgende Element zur Web.config-Datei der Website hinzu, um dies zu beheben:

    <appSettings>
        <add key="enableSimpleMembership" value="true" />
    </appSettings>
    

    Fügen Sie dieses Element als untergeordnetes Element des <configuration> Elements und als Peer des <system.web> Elements hinzu.

  9. Klicken Sie in der oberen rechten Ecke der Seite auf den Link Registrieren . Die Seite Register.cshtml wird angezeigt.

  10. Geben Sie einen Benutzernamen und ein Kennwort ein, und klicken Sie dann auf Registrieren.

    security-membership-3

    Als Sie die Website aus der Vorlage Starterwebsite erstellt haben, wurde im Ordner App_Data der Website eine Datenbank namens StarterSite.sdf erstellt. Während der Registrierung werden Ihre Benutzerinformationen der Datenbank hinzugefügt. Wenn Sie die SMTP-Werte festlegen, wird eine Nachricht an die von Ihnen verwendete E-Mail-Adresse gesendet, damit Sie die Registrierung abschließen können.

    security-membership-4

  11. Navigieren Sie zu Ihrem E-Mail-Programm, und suchen Sie die Nachricht, die Ihren Bestätigungscode und einen Link zur Website enthält.

  12. Klicken Sie auf den Link, um Ihr Konto zu aktivieren. Der Bestätigungslink öffnet eine Registrierungsbestätigungsseite.

    security-membership-5

  13. Klicken Sie auf den Link Anmelden , und melden Sie sich dann mit dem Konto an, das Sie registriert haben.

    Nachdem Sie sich angemeldet haben, werden die Links Anmelden und Registrieren durch einen Abmeldelink ersetzt. Ihr Anmeldename wird als Link angezeigt. (Über den Link können Sie zu einer Seite wechseln, auf der Sie Ihr Kennwort ändern können.)

    security-membership-6

    Hinweis

    Standardmäßig senden ASP.NET Webseiten Anmeldeinformationen in Klartext (als lesbarer Text) an den Server. Ein Produktionsstandort sollte sicheres HTTP (https://, auch als Secure Sockets Layer oder SSL bezeichnet) verwenden, um vertrauliche Informationen zu verschlüsseln, die mit dem Server ausgetauscht werden. Sie können festlegen, dass E-Mail-Nachrichten mithilfe von SSL gesendet werden, indem Sie wie im vorherigen Beispiel festlegen WebMail.EnableSsl=true . Weitere Informationen zu SSL finden Sie unter Schützen der Webkommunikation: Zertifikate, SSL und https://.

Zusätzliche Mitgliedschaftsfunktionen auf der Website

Ihre Website enthält weitere Funktionen, mit denen Benutzer ihre Konten verwalten können. Benutzer können folgende Aktionen ausführen:

  • Ändern sie ihre Kennwörter. Nach der Anmeldung können sie auf den Benutzernamen klicken (der ein Link ist). Dadurch gelangen sie zu einer Seite, auf der sie ein neues Kennwort erstellen können (Account/ChangePassword.cshtml).
  • Wiederherstellen eines vergessenen Kennworts. Auf der Anmeldeseite befindet sich ein Link (Haben Sie Ihr Kennwort vergessen?), der Benutzer zu einer Seite (Account/ForgotPassword.cshtml) führt, auf der sie eine E-Mail-Adresse eingeben können. Die Website sendet ihnen eine E-Mail-Nachricht mit einem Link, auf den sie klicken können, um ein neues Kennwort festzulegen (Account/PasswordReset.cshtml).

Sie können benutzern auch die Möglichkeit geben, sich mit einer externen Website anzumelden, wie weiter unten erläutert.

Erstellen einer Members-Only-Seite

Vorerst kann jeder zu einer beliebigen Seite auf Ihrer Website navigieren. Möglicherweise möchten Sie jedoch Seiten verwenden, die nur für angemeldete Personen (d. a. für Mitglieder) verfügbar sind. mit ASP.NET können Sie Seiten erstellen, auf die nur angemeldete Mitglieder zugreifen können. Wenn anonyme Benutzer versuchen, auf eine Seite zuzugreifen, die nur Mitglieder ist, leiten Sie sie in der Regel zur Anmeldeseite um.

In diesem Verfahren erstellen Sie einen Ordner, der Seiten enthält, die nur für angemeldete Benutzer verfügbar sind.

  1. Erstellen Sie im Stammverzeichnis der Website einen neuen Ordner. (Klicken Sie im Menüband auf den Pfeil unter Neu , und wählen Sie dann Neuer Ordner aus.)

  2. Nennen Sie den neuen Ordner Mitglieder.

  3. Erstellen Sie im Ordner Members eine neue Seite mit dem Namen MembersInformation.cshtml.

  4. Ersetzen Sie den vorhandenen Inhalt durch den folgenden Code und markup:

    @{
        if (!WebSecurity.IsAuthenticated) {
            Response.Redirect("~/Account/Login?returnUrl="
                + Request.Url.LocalPath);
        }
        Layout = "~/_SiteLayout.cshtml";
        Page.Title = "Members Information";
    }
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8" />
        <title>Members Information</title>
      </head>
      <body>
        <p>You can only see this information if you've logged into the site.</p>
      </body>
    </html>
    

    Dieser Code testet die IsAuthenticated -Eigenschaft des WebSecurity -Objekts, die zurückgibt true , wenn sich der Benutzer angemeldet hat. Wenn der Benutzer nicht angemeldet ist, ruft Response.Redirect der Code auf, um den Benutzer zur Seite Login.cshtml im Ordner Konto zu senden.

    Die URL der Umleitung enthält einen returnUrl Abfragezeichenfolgenwert, der verwendet Request.Url.LocalPath , um den Pfad der aktuellen Seite festzulegen. Wenn Sie den returnUrl Wert in der Abfragezeichenfolge wie folgt festlegen (und wenn die Rückgabe-URL ein lokaler Pfad ist), kehren Benutzer nach der Anmeldung zu dieser Seite zurück.

    Der Code legt auch _SiteLayout.cshtml-Seite als Layoutseite fest. (Weitere Informationen zu Layoutseiten finden Sie unter Erstellen eines konsistenten Layouts in ASP.NET Web Pages Websites.)

  5. Führen Sie die Website aus. Wenn Sie noch angemeldet sind, klicken Sie oben auf der Seite auf die Schaltfläche Abmelden .

  6. Fordern Sie im Browser die Seite /Members/MembersInformation an. Die URL kann beispielsweise wie folgt aussehen:

    http://localhost:38366/Members/MembersInformation

    (Die Portnummer (38366) unterscheidet sich wahrscheinlich in Ihrer URL.)

    Sie werden zur Seite Login.cshtml umgeleitet, da Sie nicht angemeldet sind.

  7. Melden Sie sich mit dem Konto an, das Sie zuvor erstellt haben. Sie werden zurück zur Seite MembersInformation weitergeleitet. Da Sie angemeldet sind, wird diesmal der Seiteninhalt angezeigt.

Um den Zugriff auf mehrere Seiten zu sichern, können Sie wie folgt vorgehen:

  • Fügen Sie jeder Seite die Sicherheitsüberprüfung hinzu.
  • Erstellen Sie eine _PageStart.cshtml-Seite in dem Ordner, in dem Sie geschützte Seiten aufbewahren, und fügen Sie dort die Sicherheitsüberprüfung hinzu. Die seite _PageStart.cshtml fungiert als eine Art globale Seite für alle Seiten im Ordner. Dieses Verfahren wird unter Anpassen Site-Wide Verhaltens für ASP.NET Web Pages ausführlicher erläutert.

Erstellen von Sicherheit für Benutzergruppen (Rollen)

Wenn Ihre Website viele Mitglieder hat, ist es nicht effizient, die Berechtigung für jeden Benutzer einzeln zu überprüfen, bevor Sie diesen eine Seite anzeigen lassen. Stattdessen können Sie Gruppen oder Rollen erstellen, denen einzelne Mitglieder angehören. Anschließend können Sie berechtigungen basierend auf der Rolle überprüfen. In diesem Abschnitt erstellen Sie eine Administratorrolle und dann eine Seite, auf die Benutzer zugreifen können, die dieser Rolle angehören (denen sie angehören).

Das ASP.NET Mitgliedschaftssystem ist für die Unterstützung von Rollen eingerichtet. Im Gegensatz zur Mitgliedschaftsregistrierung und -anmeldung enthält die Vorlage "Starterwebsite " jedoch keine Seiten, mit denen Sie Rollen verwalten können. (Die Verwaltung von Rollen ist keine Benutzeraufgabe, sondern eine Administrative Aufgabe.) Sie können Gruppen jedoch direkt in der Mitgliedschaftsdatenbank in WebMatrix hinzufügen.

  1. Klicken Sie in WebMatrix auf die Auswahl des Arbeitsbereichs Datenbanken .

  2. Öffnen Sie im linken Bereich den Knoten StarterSite.sdf , öffnen Sie den Knoten Tabellen , und doppelklicken Sie dann auf die tabelle webpages_Roles .

    security-membership-7

  3. Fügen Sie eine Rolle namens "admin" hinzu. Das Feld RoleId wird automatisch ausgefüllt. (Es handelt sich um den Primärschlüssel und wurde als Identifizierungsfeld festgelegt, wie unter Einführung in die Arbeit mit einer Datenbank in ASP.NET Web Pages Sites erläutert.)

  4. Notieren Sie sich, was der Wert für das Feld RoleId ist. (Wenn dies die erste Rolle ist, die Sie definieren, ist sie 1.)

    security-membership-8

  5. Schließen Sie die webpages_Roles Tabelle.

  6. Öffnen Sie die Tabelle UserProfile .

  7. Notieren Sie sich den UserId-Wert eines oder mehrerer Benutzer in der Tabelle, und schließen Sie dann die Tabelle.

  8. Öffnen Sie die webpages_UserInRoles Tabelle, und geben Sie eine UserID und einen RoleID-Wert in die Tabelle ein. Wenn Sie z. B. Benutzer 2 in die Rolle "administrator" versetzen möchten, geben Sie die folgenden Werte ein:

    security-membership-9

  9. Schließen Sie die webpages_UsersInRoles Tabelle.

    Nachdem Sie nun Rollen definiert haben, können Sie eine Seite konfigurieren, auf die Benutzer mit dieser Rolle zugreifen können.

  10. Erstellen Sie im Stammordner der Website eine neue Seite namens AdminError.cshtml , und ersetzen Sie den vorhandenen Inhalt durch den folgenden Code. Dies ist die Seite, auf die Benutzer umgeleitet werden, wenn sie keinen Zugriff auf eine Seite haben.

    @{
        Layout = "~/_SiteLayout.cshtml";
        PageData["Title"] = "Admin-only Error";
    }
    <p>You must log in as an admin to access that page.</p>
    
  11. Erstellen Sie im Stammordner der Website eine neue Seite mit dem Namen AdminOnly.cshtml , und ersetzen Sie den vorhandenen Code durch den folgenden Code:

    @{
        Layout = "~/_SiteLayout.cshtml";
        PageData["Title"] = "Administrators only";
    }
    
    @if ( Roles.IsUserInRole("admin")) {
        <span> Welcome <b>@WebSecurity.CurrentUserName</b>! </span>
    }
    else {
         Response.Redirect("~/AdminError");
    }
    

    Die Roles.IsUserInRole -Methode gibt zurück true , wenn der aktuelle Benutzer Mitglied der angegebenen Rolle ist (in diesem Fall die Rolle "administrator").

  12. Führen Sie Default.cshtml in einem Browser aus, melden Sie sich aber nicht an. (Wenn Sie bereits angemeldet sind, melden Sie sich ab.)

  13. Fügen Sie in der Adressleiste des Browsers AdminOnly in der URL hinzu. (Anders ausgedrückt: Fordern Sie die Datei AdminOnly.cshtml an .) Sie werden zur Seite AdminError.cshtml umgeleitet, da Sie derzeit nicht als Benutzer mit der Rolle "administrator" angemeldet sind.

  14. Kehren Sie zu Default.cshtml zurück, und melden Sie sich als der Benutzer an, den Sie der Rolle "admin" hinzugefügt haben.

  15. Navigieren Sie zur Seite AdminOnly.cshtml . Dieses Mal wird die Seite angezeigt.

Verhindern, dass automatisierte Programme Ihrer Website beitreten

Die Anmeldeseite verhindert nicht, dass sich automatisierte Programme (manchmal auch als Webroboter oder Bots bezeichnet) bei Ihrer Website registrieren. In diesem Verfahren wird beschrieben, wie Sie einen ReCaptcha-Test für die Registrierungsseite aktivieren.

/media/38777/ch16securitymembership-18.jpg

  1. Registrieren Sie Ihre Website beim ReCaptcha-Dienst. Wenn Sie die Registrierung abgeschlossen haben, erhalten Sie einen öffentlichen und einen privaten Schlüssel.

  2. Fügen Sie ihrer Website die ASP.NET Webhilfsbibliothek hinzu, wie unter Installieren von Hilfsprogrammen auf einer ASP.NET Web Pages-Website beschrieben, sofern noch nicht geschehen.

  3. Öffnen Sie im Ordner Konto die Datei mit dem Namen Register.cshtml.

  4. Suchen Sie im Code oben auf der Seite die folgenden Zeilen, und heben Sie die Auskommentierung auf, indem Sie die // Kommentarzeichen entfernen:

    if (!ReCaptcha.Validate("PRIVATE_KEY")) {
        ModelState.AddError("recaptcha", "Captcha response was not correct");
    }
    
  5. Ersetzen Sie durch PRIVATE_KEY Ihren eigenen privaten ReCaptcha-Schlüssel.

  6. Entfernen Sie im Markup der Seite die @* Kommentarzeichen und *@ aus den folgenden Zeilen im Seitenmarkup:

    @ReCaptcha.GetHtml("PUBLIC_KEY", theme: "white")
    @Html.ValidationMessage("recaptcha")
    
  7. Ersetzen Sie PUBLIC_KEY durch Ihren Schlüssel.

  8. Wenn Sie es noch nicht entfernt haben, entfernen Sie das Element, das Text enthält, der <div> mit "So aktivieren Sie die CAPTCHA-Überprüfung ..." beginnt. (Entfernen Sie das gesamte <div> Element und dessen Inhalt.)

  9. Führen Sie Default.cshtml in einem Browser aus. Wenn Sie bei der Website angemeldet sind, klicken Sie auf den Link Abmelden .

  10. Klicken Sie auf den Link Registrieren , und testen Sie die Registrierung mithilfe des CAPTCHA-Tests.

    security-membership-10

Weitere Informationen zum ReCaptcha Hilfsprogramm finden Sie unter Verwenden einer CATPCHA zum Verhindern von automatisierten Programmen (Bots) an der Verwendung Ihrer ASP.NET-Website.

Zulassen der Anmeldung von Benutzern mithilfe einer externen Website

Die Vorlage für die Starterwebsite enthält Code und Markup, mit dem sich Benutzer mit Facebook, Windows Live, Twitter, Google oder Yahoo anmelden können. Diese Funktionalität ist standardmäßig nicht aktiviert. Das allgemeine Verfahren für die Verwendung der Anmeldung von Benutzern mit diesen externen Anbietern ist wie folgt:

  • Entscheiden Sie, welche der externen Websites Sie unterstützen möchten.
  • Wechseln Sie bei Bedarf zu dieser Website, und richten Sie eine Anmelde-App ein. (Dies müssen Sie beispielsweise tun, um Facebook-Anmeldungen zuzulassen.)
  • Konfigurieren Sie auf Ihrer Website den Anbieter. In den meisten Fällen müssen Sie nur code in der Datei _AppStart.cshtml auskommentieren.
  • Fügen Sie der Registrierungsseite Markup hinzu, mit dem Personen zum Anmelden eine Verknüpfung mit der externen Website herstellen können. Normalerweise können Sie das benötigte Markup kopieren und den Text leicht ändern.

Schritt-für-Schritt-Anweisungen finden Sie im Thema Aktivieren der Anmeldung von externen Websites in einer ASP.NET Web Pages Website.

Nachdem sich ein Benutzer von einer anderen Website angemeldet hat, kehrt der Benutzer zu Ihrer Website zurück und ordnet diese Anmeldung Ihrer Website zu. Dadurch wird ein Mitgliedschaftseintrag auf Ihrer Website für die externe Anmeldung des Benutzers erstellt. Dadurch können Sie die normalen Mitgliedschaftsmöglichkeiten (z. B. Rollen) mit der externen Anmeldung nutzen.

Hinzufügen von Sicherheit zu einer vorhandenen Website

Das Verfahren weiter oben in diesem Artikel basiert auf der Verwendung der Starterwebsitevorlage als Grundlage für die Websitesicherheit. Wenn es für Sie nicht praktikabel ist, mit der Vorlage Starterwebsite zu beginnen oder die relevanten Seiten von einer Website basierend auf dieser Vorlage zu kopieren, können Sie dieselbe Art von Sicherheit auf Ihrer eigenen Website implementieren, indem Sie sie selbst codieren. Sie erstellen dieselben Seitentypen – Registrierung, Anmeldung usw. – und verwenden dann Hilfsprogramme und Klassen, um die Mitgliedschaft einzurichten.

Der grundlegende Prozess wird im Blogbeitrag DIE einfachste Möglichkeit zur Implementierung ASP.NET Razor-Sicherheit beschrieben. Die meisten Arbeiten werden mit den folgenden Methoden und Eigenschaften des WebSecurity Hilfsprogramm ausgeführt:

Zum Verwalten von Rollen können Sie die Klassen Rollen und Mitgliedschaft verwenden, wie im Blogeintrag beschrieben.

Zusätzliche Ressourcen