字段名 | 字段类型 | 表述 |
ApplicationId | uniqueidentifier | Application ID,应用程序id |
UserId | uniqueidentifier | User ID,用户id |
Password | nvarchar(128) | 密码,可以是加密 hash保存的 |
PasswordFormat | int | Password format (0=Plaintext, 1=Hashed, 2=Encrypted) |
PasswordSalt | nvarchar(128) | Randomly generated 128-bit value used to salt password hashes; stored in base-64-encoded form |
MobilePIN | nvarchar(16) | User''s mobile PIN (当前没有使用) |
nvarchar(256) | ||
LoweredEmail | nvarchar(256) | 小写email地址 |
PasswordQuestion | nvarchar(256) | 密码问题 |
PasswordAnswer | nvarchar(128) | 密码问题答案 |
IsApproved | bit | 1=Approved, 0=Not approved |
IsLockedOut | bit | 1=Locked out, 0=Not locked out |
CreateDate | datetime | 创建时间 |
LastLoginDate | datetime | 最后登录时间 |
LastPasswordChangedDate | datetime | 密码最后修改时间 |
LastLockoutDate | datetime | 最后登出的时间 |
FailedPasswordAttemptCount | int | 联系登录失败次数 |
FailedPasswordAttempt-WindowStart | datetime | 在FailedPasswordAttemptCount非零时,第一次登录失败的时间 |
FailedPasswordAnswer-AttemptCount | int | 回答密码问题联系失败的次数 |
FailedPasswordAnswer-AttemptWindowStart | datetime | 在FailedPasswordAnswer-AttemptCount非零时,第一次回答问题失败的时间 |
Comment | ntext | 扩展的文本 |
这个表中的每一条记录代表一个用户,这个表还有两个外键,分别关联aspnet_Applications表和aspnet_Users表
aspnet_Applications表
字段名 | 字段类型 | 描述 |
ApplicationId | uniqueidentifier | Application ID |
ApplicationName | nvarchar(256) | Application name |
LoweredApplicationName | nvarchar(256) | Application name (小写) |
Description | nvarchar(256) | Application 描述 |
aspnet_Users 表
字段名 | 字段类型 | 描述 |
ApplicationId | uniqueidentifier | Application ID |
UserId | uniqueidentifier | 用户ID |
UserName | nvarchar(256) | 用户名 |
LoweredUserName | nvarchar(256) | 用户名 (小写) |
MobileAlias | nvarchar(16) | User''s mobile alias (currently not used) 没有使用 |
IsAnonymous | bit | 1=Anonymous user, 0=Not an anonymous user |
LastActivityDate | datetime | 用户最后一次活动时间 |
一条完整的记录 aspnet_Membership和aspnet_Users都要存在。
3.数据访问
SqlMembershipProvider是通过存储过程完成所有的数据库操作的,简单介绍一下这些存储过程
SqlMembershipProvider存储过程
名称 | 描述 |
aspnet_Membership_ChangePassword-QuestionAndAnswer | 修改密码,密码问题,密码问题答案 |
aspnet_Membership_CreateUser | 增加一个membership用户 记录同时写入aspnet_Users 和aspnet_Membership 表, 如果需要,还要增加一条记录到aspnet_Applications表。 |
aspnet_Membership_FindUsersByEmail | 通过email地址匹配查找用户的记录,同时还要一个application ID. |
aspnet_Membership_FindUsersByName | 通过用户名匹配查找用户的记录,同时还要一个application ID. |
aspnet_Membership_GetAllUsers | 得到所有用户记录,在一个下application ID. |
aspnet_Membership_GetNumberOfUsersOnline | 得到在线用户数 (通过用户最后活动时间字段(LastActivityDate)实现) |
aspnet_Membership_GetPassword | 得到一个用户的密码,通过密码问题的回答 |
aspnet_Membership_GetPasswordWithFormat | 得到一个用户的密码。通过密码比较重新取得密码。 |
aspnet_Membership_GetUserByEmail | 使用email和application id从aspnet_Membership中得到相应的记录 |
aspnet_Membership_GetUserByName | 使用用户名和application id从aspnet_Membership中得到相应的记录 |
aspnet_Membership_GetUserByUserId | 使用userid和application id从aspnet_Membership中得到相应的记录 |
aspnet_Membership_ResetPassword | 重置用户密码通过回答密码问题 |
aspnet_Membership_SetPassword | 设置一个密码 |
aspnet_Membership_UnlockUser | 恢复用户登录的权限通过将IsLockedOut字段设置成0 |
aspnet_Membership_UpdateUser | 更新用户的aspnet_users表的LastActivityDate,e-mail,注释,approved字段和aspnet_Membership表的最后登录时间。 |
aspnet_Membership_UpdateUserInfo | 更新帐户锁定时间在aspnet_users和aspnet_Membership表,Used in conjunction with provider methods that track bad password and bad password-answer attempts. |
aspnet_Users_CreateUser | 调用aspnet_Membership_CreateUser增加一个到用户到aspnet_users表。 |
aspnet_Users_DeleteUser | 删除一个用户 从aspnet_membership已经一些关联表里包括aspnet_users. |
4.创建用户
S