ASP.NET Web Pages - WebSecurity 对象
- Vorherige Seite WebPages Klasse
- Nächste Seite WebPages Datenbank
描述
WebSecurity 对象为 ASP.NET Web Pages 应用程序提供安全和认证。
通过 WebSecurity 对象,您能够创建用户账户、登录和注销,重置或更改密码等等。
WebSecurity 对象参考手册 - 属性
属性 | 描述 |
---|---|
CurrentUserId | 获取当前用户的 ID。 |
CurrentUserName | 获取当前用户的名称。 |
HasUserId | 获取指示当前用户是否具有用户 ID 的值。如果是,返回 true。 |
IsAuthenticated | 获取当前用户的认证状态。 |
WebSecurity 对象参考手册 - 方法
属性 | 描述 |
---|---|
ChangePassword() | 更改用户的密码。 |
ConfirmAccount() | 确认账户有效并激活该账户。 |
CreateAccount() | 创建新的用户账户。 |
CreateUserAndAccount() | 创建新的用户账户。 |
GeneratePasswordResetToken() | 生成可以通过电子邮件发送给用户的密码重置令牌。 |
GetCreateDate() | 返回创建指定会员资格账户的日期和时间。 |
GetPasswordChangeDate() | 返回最近更改指定会员资格账户密码的日期和时间。 |
GetPasswordFailures SinceLastSuccess() |
返回自上次成功登录或创建会员资格账户以来错误输入密码的次数。 |
GetUserId() | 根据指定的用户名返回用户 ID。 |
GetUserIdFrom PasswordResetToken () |
Gibt den Benutzer-ID aus dem Passwort-Reset-Token zurück. |
InitializeDatabaseConnection() | Initialisieren Sie das Mitgliedschaftssystem durch Verbindung mit einer Datenbank, die Benutzerinformationen enthält. |
IsAccountLockedOut() | Zeigt an, ob das Mitgliedschaftskonto aufgrund von zu vielen fehlgeschlagenen Passwortversuchen gesperrt wurde. |
IsConfirmed() | Gibt einen Wert zurück, der anzeigt, ob der Benutzer bestätigt wurde. |
IsCurrentUser() | Gibt einen Wert zurück, der anzeigt, ob der Benutzername des angemeldeten Benutzers mit dem angegebenen Benutzernamen übereinstimmt. |
Login() | Anmeldung des Benutzers. |
Logout() | Abmelden des Benutzers. |
RequireAuthenticatedUser() | Wenn der Benutzer nicht authentifiziert ist, setzen Sie den HTTP-Status auf 401 (nicht autorisiert). |
RequireRoles() | Wenn der aktuelle Benutzer nicht der angegebene Rolle angehört, setzen Sie den HTTP-Statuscode auf 401. |
RequireUser() | Wenn der aktuelle Benutzer nicht der angegebene Benutzer ist, setzen Sie den HTTP-Status auf 401. |
ResetPassword() | Setzen Sie das Passwort mit dem Passwort-Reset-Token zurück. |
UserExists() | Überprüfen Sie, ob der Benutzer existiert. |
Technische Daten
Name | Wert |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Initialisieren Sie die WebSecurity-Datenbank
Bevor Sie das WebSecurity-Objekt im Code verwenden, müssen Sie die WebSecurity-Datenbank erstellen oder initialisieren.
Erstellen oder bearbeiten Sie die Seite _AppStart.cshtml im Web-Root-Verzeichnis.
Schreiben Sie den folgenden Code in diese Datei ein:
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
Bei jedem Start der Website wird der obige Code ausgeführt. Er initialisiert die WebSecurity-Datenbank.
"Users" ist der Name der WebSecurity-Datenbank. (Users.sdf)
"UserProfile" ist der Name der Datenbanktabelle, die die Benutzereinstellungen enthält.
"UserId" enthält den Namen der Spalte, die die Benutzer-ID (Primärschlüssel) enthält.
"E-Mail" ist der Spaltenname, der den Benutzernamen enthält.
Der letzte Parameter true ist ein logischer Wert, der angibt, ob die Benutzerprofil- und Mitgliedschaftstabellen erstellt werden sollen (wenn sie nicht existieren), sonst false.
Hinweis: Obwohl true anzeigt, dass Tabellen automatisch erstellt werden sollen, wird die Datenbank selbst nicht automatisch erstellt. Sie muss existieren.
WebSecurity-Datenbank
Jedes Eintrag in der UserProfile-Tabelle repräsentiert einen Benutzer, einschließlich Benutzer-ID (Primärschlüssel) und Benutzername (E-Mail):
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Die Membership-Tabelle enthält Mitgliedschaftsinformationen, wie z.B. wann ein Benutzer erstellt wurde und ob (und wann) die Mitgliedschaft bestätigt wurde.
Ähnlich wie folgt (einige Spalten sind nicht aufgeführt):
UserId | Erstellungsdatum | Bestätigung Token |
Ob Bestätigung |
Letzte Passwortfehler |
Passwort | Passwortänderung |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
Anmerkung:Wenn Sie alle Spalten und alle Inhalte sehen möchten, öffnen Sie die Datenbank über WebMatrix und betrachten Sie jedes Table.
Einfache Mitgliedschaftskonfiguration
Falls Ihre Website nicht konfiguriert ist, um das ASP.NET Web Pages Membership-System SimpleMembership zu verwenden, können Fehler beim Verwenden des WebSecurity-Objekts auftreten.
Falls die Konfiguration des Host-Providers von Ihrem lokalen Server abweicht, kann ein Fehler auftreten. Um dieses Problem zu lösen, fügen Sie die folgenden Elemente in die Web.config-Datei der Website hinzu:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- Vorherige Seite WebPages Klasse
- Nächste Seite WebPages Datenbank