ASP.NET Web Pages - Kitengo cha WebSecurity

Inasikitisha

Kitengo cha WebSecurity kinapewa usalama na uaminifu wa programu ya ASP.NET Web Pages.

Kwa sababu ya kitengo cha WebSecurity, unaweza kuanzisha nafasi ya nishati ya mtumishi, kuingia, kuondoka, kufikia nafasi ya nishati ya kina ya mabadiliko ya nafasi ya nishati ya kina na wengine.

Kitabu cha kuelewa cha WebSecurity kwa sababu ya uwanja - vipengele

Inasikitisha Inasikitisha
CurrentUserId Inafikia ID ya mtumishi wa sasa.
CurrentUserName Inafikia jina la mtumishi wa sasa.
HasUserId Inafikia thamani ya inaona mtumishi wa sasa anaelewa ID ya mtumishi. Ikiwa nimeelewa, inatumia kina kwa kurejea true.
IsAuthenticated Inafikia hali ya uaminifu wa mtumishi wa sasa.

Kitabu cha kuelewa cha WebSecurity kwa sababu ya uwanja - Maagizo

Inasikitisha Inasikitisha
ChangePassword() Inafanya mabadiliko ya nafasi ya nishati ya mtumishi wa kina wa mtumishi.
ConfirmAccount() Inakidhi nafasi ya nishati ya mtumishi wa kina kuwa muhimu na kuamua kuwa na uwezo.
CreateAccount() Inaongeza nafasi ya nishati ya mtumishi wa kina kipya.
CreateUserAndAccount() Inaongeza nafasi ya nishati ya mtumishi wa kina kipya.
GeneratePasswordResetToken() Inaonyesha rafiki wa kufikia nafasi ya nishati ya kina ambao inaweza kusikia na mtumishi wa kina kwa kutumia barua pepe.
GetCreateDate() Inaonyesha tarehe na wakati wa kuanzisha nafasi ya nishati ya mtumishi wa kina.
GetPasswordChangeDate() Inaonyesha tarehe na wakati wa kufanywa mabadiliko ya nafasi ya nishati ya mtumishi wa kina.
GetPasswordFailures
SinceLastSuccess()
Inaonyesha mara za kufikia namba ya nafasi ya nishati ya kufikia namba ya ID ya mtumishi kwa kuzingatia huzuni iliyotumika kwenye ukarabati wa kina.
GetUserId() Inaonyesha ID ya mtumishi wa amani wa kina.
GetUserIdFrom
PasswordResetToken ()
从密码重置令牌中返回用户 ID。
InitializeDatabaseConnection() 通过连接到包含用户信息的数据库来初始化成员资格系统。
IsAccountLockedOut() 指示指定的成员资格帐户是否因为密码尝试失败次数太多而被锁定。
IsConfirmed() 返回一个值,指示用户是否已经过确认的值。
IsCurrentUser() 返回一个值,指示已登录用户的用户名是否与指定用户名匹配的值。
Login() Kumekisha mtumiaji.
Logout() Kumekisha mtumiaji.
RequireAuthenticatedUser() Ikiwa mtumiaji hakuwa kwa kina cha kusababisha, itaenda kumekisha hali ya HTTP kwa 401 (hakuna aina).
RequireRoles() Ikiwa mtumiaji hakuwa kikundi cha kusababisha cha kusababisha, itaenda kumekisha hali ya HTTP kwa 401.
RequireUser() Ikiwa mtumiaji hakuwa mtumiaji wa kusababisha, itaenda kumekisha hali ya HTTP kwa 401.
ResetPassword() Kurejesha nafasi ya nafasi kwa kusoma kwa kuita kwa kusoma.
UserExists() Tathmini ukuruhusu mtumiaji.

Technical Data

Name Value
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

Kufungua database ya WebSecurity

Kufikia kwa kutumia kifaa cha WebSecurity, lazima kumekisha ama kufungua database ya WebSecurity.

Kwenye kikaa cha web, kumekisha ama kurejesha ukurasa _AppStart.cshtml.

Kwenye faili hii, kuzungumza na kuzingatia kufikia hapa kwa kuita hapa kwa kusoma.

_AppStart.cshtml

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

Inaenda kushindwa kila mara inasofia tovuti. Inaenda kufungua database ya WebSecurity.

"Users" ni jina la database ya WebSecurity (Users.sdf).

"UserProfile" niweza kujumuwa na jina la tabia ya kifaa cha database ambalo kinahusisha habari za mbinu wa mtumiaji.

"UserId" 包含用户 ID 的列的名称(主键)。

"Email" 是包含用户名称的列名。

最后一个参数 true 是一个逻辑值,指示应创建用户配置文件表和成员资格表(如果它们不存在),否则 false。

提示:尽管 true 指示自动创建数据库表,但数据库本身不会被自动创建。它必须存在。

WebSecurity 数据库

UserProfile 表中的每条记录代表一个用户,其中包括用户 ID (主键)和用户名称(email):

UserId Email
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 文件中添加以下元素: