ASP.NET Web Pages - WebSecurity objektet
- 上一页 WebPages Klasser
- 下一页 WebPages Database
Beskrivelse
WebSecurity objektet tilbyder sikkerhed og autentificering til ASP.NET Web Pages applikationer.
Gennem WebSecurity objektet kan du oprette brugerkontoer, logge ind og ud, nulstille eller ændre adgangskoder osv.
WebSecurity objektets refereringshåndbog - Egenskaber
Egenskab | Beskrivelse |
---|---|
CurrentUserId | Få den nuværende brugers ID. |
CurrentUserName | Få den nuværende brugers navn. |
HasUserId | Få værdien, der indikerer, om den nuværende bruger har et bruger ID. Hvis ja, returneres true. |
IsAuthenticated | Få den nuværende brugers autentificeringsstatus. |
WebSecurity objektets refereringshåndbog - Metoder
Egenskab | Beskrivelse |
---|---|
ChangePassword() | Ændr brugerens adgangskode. |
ConfirmAccount() | Bekræft, at kontoen er gyldig og aktiver denne konto. |
CreateAccount() | Opretter en ny brugerkonto. |
CreateUserAndAccount() | Opretter en ny brugerkonto. |
GeneratePasswordResetToken() | Genererer en adgangskodegendannelsestoken, der kan sendes til brugeren via e-mail. |
GetCreateDate() | Returnerer dato og klokkeslæt for oprettelsen af angivet medlemskabskonto. |
GetPasswordChangeDate() | Returnerer dato og klokkeslæt for den seneste ændring af adgangskode til angivet medlemskabskonto. |
GetPasswordFailures SinceLastSuccess() |
Returnerer antallet af fejlindtastede adgangskoder siden sidste succesfulde login eller oprettelse af medlemskabskonto. |
GetUserId() | Returner bruger ID baseret på angivet brugernavn. |
GetUserIdFrom PasswordResetToken () |
Returner bruger ID fra adgangskodegenskabs token. |
InitializeDatabaseConnection() | Initialiser medlemskabssystemet ved at forbinde til en database, der indeholder brugeroplysninger. |
IsAccountLockedOut() | Indikerer om den angivne medlemskabskonto er låst, fordi der er for mange mislykkede adgangskodeforsøg. |
IsConfirmed() | Returnerer en værdi, der indikerer om brugeren allerede er bekræftet. |
IsCurrentUser() | Returnerer en værdi, der indikerer om det indloggede brugerens brugernavn matcher det angivne brugernavn. |
Login() | Log brugeren ind. |
Logout() | Log brugeren ud. |
RequireAuthenticatedUser() | Sæt HTTP-status til 401 (ikke autoriseret), hvis brugeren ikke er godkendt. |
RequireRoles() | Sæt HTTP-statuskode til 401, hvis den aktuelle bruger ikke tilhører den angivne rolle. |
RequireUser() | Sæt HTTP-status til 401, hvis den aktuelle bruger ikke er den angivne bruger. |
ResetPassword() | Nulstil adgangskode ved hjælp af adgangskodegenskabs token. |
UserExists() | Kontroller om brugeren findes. |
Teknisk data
Navn | Værdi |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Initialiser WebSecurity-databasen
Før du bruger WebSecurity-objektet, skal du oprette eller initialisere WebSecurity-databasen.
Opret eller rediger _AppStart.cshtml-side i web-kataloget.
Skriv følgende kode i denne fil:
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
Hver gang webstedet starter, kører ovenstående kode. Den initialiserer WebSecurity-databasen.
"Users" er navnet på WebSecurity-databasen. (Users.sdf)
"UserProfile" er navnet på databasetabel, der indeholder brugerindstillinger.
"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 Klasser
- 下一页 WebPages Database