ASP.NET Web Pages - WebSecurity-objektet
- 上一页 WebPages klass
- 下一页 WebPages databas
Beskrivning
WebSecurity-objektet tillhandahåller säkerhet och autentisering för ASP.NET Web Pages-applikationer.
Genom WebSecurity-objektet kan du skapa användarkonton, logga in och ut, återställa eller ändra lösenord och så vidare.
WebSecurity objektets referenshandbok - Egenskaper
Egenskap | Beskrivning |
---|---|
CurrentUserId | Hämta den aktuella användarens ID. |
CurrentUserName | Hämta den aktuella användarens namn. |
HasUserId | Hämta värdet som indikerar om den aktuella användaren har ett användar-ID. Om ja, returnera true. |
IsAuthenticated | Hämta den aktuella användarens autentiseringsstatus. |
WebSecurity objektets referenshandbok - Metoder
Egenskap | Beskrivning |
---|---|
ChangePassword() | Ändra användarens lösenord. |
ConfirmAccount() | Bekräfta att kontot är giltigt och aktivera kontot. |
CreateAccount() | Skapa en ny användarkonto. |
CreateUserAndAccount() | Skapa en ny användarkonto. |
GeneratePasswordResetToken() | Generera ett lösenordsåterställningsbrevlåset som kan skickas till användaren via e-post. |
GetCreateDate() | Returnerar datum och tid för skapandet av det specificerade medlemskapet. |
GetPasswordChangeDate() | Returnerar datum och tid för den senaste ändringen av lösenordet för det specificerade medlemskapet. |
GetPasswordFailures SinceLastSuccess() |
Returnerar antalet felaktiga lösenordsinmatningar sedan senaste framgångsrika inloggningen eller skapandet av ett medlemskap. |
GetUserId() | Returnar användar-ID baserat på specificerat användarnamn. |
GetUserIdFrom PasswordResetToken () |
Returnerar användar-ID från lösenordsåterställningstoken. |
InitializeDatabaseConnection() | Initialisera medlemskapssystemet genom att ansluta till en databas som innehåller användarinformation. |
IsAccountLockedOut() | Indikerar om det specifika medlemskapskontot har låst upp på grund av för många misslyckade lösenordsförsök. |
IsConfirmed() | Returnerar ett värde som indikerar om användaren redan har bekräftats. |
IsCurrentUser() | Returnerar ett värde som indikerar om det inloggade användarens användarnamn matchar det angivna användarnamnet. |
Login() | Logga in användaren. |
Logout() | Logga ut användaren. |
RequireAuthenticatedUser() | Om användaren inte är autentiserad, sätt HTTP-status till 401 (inte auktoriserad). |
RequireRoles() | Om den aktuella användaren inte tillhör den angivna rollen, sätt HTTP-statuskod till 401. |
RequireUser() | Om den aktuella användaren inte är den angivna användaren, sätt HTTP-status till 401. |
ResetPassword() | Återställ lösenord genom att använda lösenordsåterställningstoken. |
UserExists() | Kontrollera om användaren finns. |
Teknisk data
Name | Value |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Initialisera WebSecurity-databasen
Innan du använder WebSecurity-objektet måste du skapa eller initialisera WebSecurity-databasen.
Skapa eller redigera _AppStart.cshtml-sidan i webbsökvägen.
Skriv följande kod i denna fil:
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
Webbplatsen kör ovanstående kod vid varje start. Det initialiserar WebSecurity-databasen.
"Users" är namnet på WebSecurity-databasen (Users.sdf)
"UserProfile" är namnet på databastabellen som innehåller användarinställningsinformation.
"UserId" 包含用户 ID 的列的名称(主键)。
"Email" 是包含用户名称的列名。
最后一个参数 true 是一个逻辑值,指示应创建用户配置文件表和成员资格表(如果它们不存在),否则 false。
提示:尽管 true 指示自动创建数据库表,但数据库本身不会被自动创建。它必须存在。
WebSecurity 数据库
UserProfile 表中的每条记录代表一个用户,其中包括用户 ID (主键)和用户名称(email):
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Membership 表包含成员资格信息,比如用户何时创建以及是否(以及何时)确认成员资格。
类似这样(某些列未列出):
UserId | 创建日期 | 确认 令牌 |
是否 确认 |
最后的 密码错误 |
密码 | 密码更改 |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
注释:如果您希望看到所有列和所有内容,请通过 WebMatrix 打开数据库,然后查看每张表。
简单的成员资格配置
如果您的站点未配置为使用 ASP.NET Web Pages 成员资格系统 SimpleMembership,那么可能会在使用 WebSecurity 对象时出现错误。
如果主机提供商的配置与您的本地服务器不同,就会发生错误。为了解决这个问题,请在站点的 Web.config 文件中添加以下元素:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- 上一页 WebPages klass
- 下一页 WebPages databas