Latest web development tutorials

ASP.NET Web Pages WebSecurity Referenzhandbuch

Beschreibung

WebSecurity ASP.NET Web Pages - Objekt stellt die Anwendungssicherheit und Authentifizierung.

Durch WebSecurity Objekt können Sie Benutzerkonten, Benutzer Anmelde- und Abmelde, zurücksetzen oder Ihr Kennwort zu ändern, und mehr sicherheitsrelevante Funktionen erstellen.


WebSecurity Referenzobjekt - Immobilien

属性 描述
CurrentUserId 获取当前登录用户的 ID。
CurrentUserName 获取当前登录用户的名称。
HasUserId 如果当前有用户 ID,则返回 true。
IsAuthenticated 如果当前用户是登录的,则返回 true。

WebSecurity Referenzobjekt - Methoden

方法 描述
ChangePassword() 为指定的用户更改密码。
ConfirmAccount() 使用帐户确认令牌确认帐户。
CreateAccount() 创建一个新的用户帐户。
CreateUserAndAccount() 创建一个新的用户帐户。
GeneratePasswordResetToken() 生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。
GetCreateDate() 获取指定会员创建的时间。
GetPasswordChangeDate() 获取密码变更的日期和时间。
GetUserId() 根据用户名称获取用户 ID。
InitializeDatabaseConnection() 初始化 WebSecurity 系统(数据库)。
IsConfirmed() 检查用户是否已被确认。如果已确认,则返回 true。(例如,可通过电子邮件进行确认。)
IsCurrentUser() 检查当前用户的名称是否与指定用户名匹配。如果匹配,则返回 true。
Login() 设置身份验证令牌,登录用户。
Logout() 移除身份验证令牌,注销用户。
RequireAuthenticatedUser() 如果用户未通过身份验证,则设置 HTTP 状态为 401(未经授权)。
RequireRoles() 如果当前用户不是指定角色的成员,则设置 HTTP 状态为 401(未经授权)。
RequireUser() 如果当前用户不是指定用户名的用户,则设置 HTTP 状态为 401(未经授权)。
ResetPassword() 如果密码重置令牌是有效的,改变用户的密码为新密码。
UserExists() 检查指定的用户是否存在。


Technische Daten

名称
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll


Datenbankinitialisierung WebSecurity

Wenn Sie WebSecurity Objekte in Ihrem Code verwenden möchten, müssen Sie zunächst erstellen oder WebSecurity Datenbank initialisieren.

In Ihrem Web - Root - Verzeichnis eine Datei mit dem Namen _AppStart.cshtml Seite (wenn es bereits vorhanden ist , werden Sie direkt zu bearbeiten Seite).

Kopieren Sie den folgenden Code in die Datei:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

Der obige Code an jedem Standort ausgeführt wird (Anwendung) beginnt. Es initialisiert die WebSecurity Datenbank.

"Benutzer" sind WebSecurity Datenbank (Users.sdf) Namen.

"Userprofile" ist der Name der Datenbanktabelle , die Benutzerkonfigurationsinformationen enthält.

"Benutzer - ID" , die die Benutzer - ID (Primärschlüssel) enthält den Namen der Spalte.

"E - Mail" ist der Name eines Benutzernamens Spalte.

Schließlich ist ein echter Parameter ein boolescher Wert, Tabellen und Mitglied Tabellen , wenn die Benutzerkonfiguration zeigt nicht vorhanden sind , wird es automatisch eine Tabelle erstellen. Wenn Sie nicht wollen , automatisch eine Tabelle zu erstellen, sollten Sie den Parameter auf false gesetzt.

Lampe Obwohl wahr zu erstellen automatisch Datenbank - Tabellen, aber die Datenbank wird nicht automatisch erstellt werden. So muss der Datenbank vorhanden sein.


WebSecurity Datenbank

Userprofile Tabelle für jeden Benutzer erstellt einen Datensatz zu speichern, die Benutzer - ID (Primärschlüssel) und den Benutzernamen (E - Mail):

UserId Email
1 [email protected]
2 [email protected]
3 [email protected]

Die Mitgliedschaft Tabelle enthält Informationen zur Mitgliedschaft, wie wenn der Benutzer erstellt wird, wenn das Mitglied Mitglied welchem Zeitpunkt Zertifizierung zertifiziert wurde, und so weiter.

Wie unten gezeigt (einige der Spalten werden nicht angezeigt):

User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
Password Password
Change
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Hinweis: Wenn Sie alle Spalten und den Inhalt zu sehen möchten, öffnen Sie die Datenbank, suchen Sie nach innen an jedem Tisch.


Einfache Konfiguration Mitglied

Wenn Sie WebSecurity Objekte verwenden, wenn Ihre Website ASP.NET Web Pages Mitglied System SimpleMembership nicht konfiguriert zu verwenden, können Sie gegeben werden.

Wenn Sie den Server-Hosting-Provider und dem lokalen Server konfigurieren Konfiguration ist anders, es auch gegeben werden kann. Um dieses Problem zu lösen, fügen Sie das folgende Element in der Datei Web.config auf der Website:

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