Beschreibung
Das WebSecurity Objekt bietet Sicherheit und Authentifizierung für ASP.NET Web Pages - Anwendungen.
Mit dem WebSecurity Objekt können Sie Benutzerkonten, Login und Logout Benutzer, zurücksetzen oder Passwörter ändern und vieles mehr erstellen.
WebSecurity Referenzobjekt - Eigenschaften
Eigenschaften | Beschreibung |
---|---|
CurrentUserId | Ruft die ID für den aktuellen Benutzer |
CurrentUserName | Ruft den Namen des aktuellen Benutzers |
HasUserId | Gibt true zurück, wenn der aktuelle Benutzer-ID hat |
IsAuthenticated | Gibt true zurück, wenn der aktuelle Benutzer angemeldet ist |
WebSecurity Referenzobjekt - Methoden
Methode | Beschreibung |
---|---|
ChangePassword() | Ändert das Kennwort für einen Benutzer |
ConfirmAccount() | Bestätigt ein Konto eine Bestätigung Token |
CreateAccount() | Erstellt ein neues Benutzerkonto |
CreateUserAndAccount() | Erstellt ein neues Benutzerkonto |
GeneratePasswordResetToken() | Erzeugt ein Token, die als Benutzer gesendet werden, per E-Mail |
GetCreateDate() | Ruft die Zeit der angegebene Mitgliedschaft erstellt wurde |
GetPasswordChangeDate() | Ruft das Datum und die Zeit, wenn das Kennwort geändert wurde |
GetUserId() | Ruft einen Benutzer-ID aus einem Benutzername |
InitializeDatabaseConnection() | Initialisiert die WebSecurity System (database) |
IsConfirmed() | Prüft, ob ein Benutzer bestätigt |
IsCurrentUser() | Überprüft, ob der aktuelle Benutzer einen Benutzernamen übereinstimmt |
Login() | Meldet den Benutzer in durch ein Token in der Cookie-Einstellung |
Logout() | Meldet den Benutzer durch das Token-Cookie zu entfernen |
RequireAuthenticatedUser() | Beendet die Seite, wenn der Benutzer nicht ein authentifizierter Benutzer |
RequireRoles() | Beendet die Seite, wenn der Benutzer nicht ein Teil der angegebenen Rollen ist |
RequireUser() | Beendet die Seite, wenn der Benutzer nicht der angegebene Benutzer ist |
ResetPassword() | Ändert das Kennwort eines Benutzers ein Token |
UserExists() | Prüft, ob ein bestimmter Benutzer vorhanden |
Technische Daten
Name | Wert |
---|---|
Klasse | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Versammlung | WebMatrix.WebData.dll |
Initialisierung der Datenbank WebSecurity
Sie müssen eine WebSecurity Datenbank erstellen oder initialisieren, bevor Sie das WebSecurity Objekt in Ihrem Code verwenden können.
In der Wurzel Ihrer Web, erstellen Sie eine Seite (or edit the page ) genannt _AppStart.cshtml.
Setzen Sie den folgenden Code in der Datei:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
Der obige Code wird jedes Mal , wenn die Webseite über (application) beginnt. Es initialisiert die WebSecurity Datenbank.
„Benutzer“ ist der Name der Datenbank WebSecurity (Users.sdf) .
„Userprofile“ ist der Name der Datenbanktabelle, die die Benutzerprofilinformationen enthält.
„Benutzer - ID“ ist der Name der Spalte , die den Benutzer - IDs enthält (primary key) .
„E - Mail“ ist der Name der Spalte , die Benutzernamen enthält.
Der letzte Parameter true ist ein boolean Wert , der angibt , dass das Benutzerprofil und die Mitgliedschaft Tabellen automatisch erstellt werden , wenn sie nicht vorhanden sind, andernfalls false.
Obwohl echte automatische Erstellung der Datenbanktabellen zeigt, wird die Datenbank selbst nicht automatisch erstellt werden. Es muss vorhanden sein.
Die WebSecurity Datenbank
Die Userprofile Tabelle enthält einen Datensatz für jeden Benutzer mit einem Benutzer - ID (primary key) und der Namen des Benutzers (email) - (email) :
Benutzeridentifikation | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Die Mitgliedschaft Tabelle enthält die Mitgliedschaft Informationen darüber , wann der Benutzer erstellt wurde und wenn (and when) die Mitgliedschaft bestätigt wurde.
Ähnlich wie diese (some columns are not shown) :
Benutzer Ich würde | Erstellen Datum | Bestätigung Zeichen | ist bestätigt | Letzte Passwort Fehler | Passwort | Passwort Veränderung |
---|---|---|---|---|---|---|
1 | 12.04.2012 16.12.17 | NULL | Wahr | NULL | AFNQhWfy .... | 12.04.2012 16.12.17 |
Hinweis: Wenn Sie alle Spalten und alle Inhalte sehen möchten, öffnen Sie die Datenbank mit WebMatrix und innerhalb jeder Tabelle schauen.
Einfache Mitgliedschaft Konfiguration
Sie könnten Fehler mit dem WebSecurity Objekt erhalten, wenn Ihre Website nicht das ASP.NET Web Pages Mitgliedschafts - System verwenden SimpleMembership konfiguriert ist.
Dies kann auftreten, wenn ein Server des Hosting-Provider anders als die lokalen Server konfiguriert ist. Um dies zu beheben, fügen Sie das folgende Element der Datei Web.config der Website:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>