-
创建用户成员资格。
CREATE PROCEDURE aspnet_Membership_CreateUser(@ApplicationName nvarchar(256),@UserName nvarchar(256),@Password nvarchar(128),@PasswordSalt nvarchar(128),@Email nvarchar(256),@PasswordQuestion nvarchar(256),@PasswordAnswer nvarchar(128),@IsApproved bit,@CurrentTimeUtc datetime,@CreateDate datetime = NULL,@UniqueEmail int = 0,@PasswordFormat int = 0,@UserId uniqueidentifier OUTPUT)
该过程首先调用 aspnet_Applications_CreateApplication 注册应用程序;
然后检查用户表(aspnet_Users) 中是否已存在该用。如果存在,
更新其最后活动时间(LastActivityDate 字段);
如果不存在,就调用 aspnet_Users_CreateUser 创建一个用户;
最后将用户成员资格数据添加到aspnet_Membership表中。
返回值:成功返回0;
调用 aspnet_Applications_CreateApplication 失败,返回 -1;
调用 aspnet_Users_CreateUser 失败,返回 -1;
如果 aspnet_Users_CreateUser 返回为 -1 ,返回10;
@UserId 与用户表(aspnet_Users) 中的 UserID 不一致,返回 6;
当用户成员资格表(aspnet_Memberships) 中 Emai 字段值被要求唯一时,
创建用户成员资格导致 Email 重复,返回7;
用户在用户成员资格表(aspnet_Memberships) 中已经存在,返回6;
发生错误,返回-1。
-
更改用户成员资格数据。
CREATE PROCEDURE aspnet_Membership_UpdateUser
(@ApplicationName nvarchar(256),@UserName nvarchar(256),@Email nvarchar(256),@Comment ntext,@IsApproved bit,@LastLoginDate datetime,@LastActivityDate datetime,@UniqueEmail int,@CurrentTimeUtc datetime
)
该过程先更新用户表(aspnet_Users)中的最后活动时间(LastActivityDate) 字段;
然后更改用户成员资格表(aspnet_Memberships) 中的Email、备注(Comment)、
是否启用用户成员资格(IsApproved)、最后登录时间(LastLoginDate)字段。
返回值:成功返回 0;
用户不存在,返回 1;
当要求Email唯一时,@Email与其他用户的Email重复,返回 7;
发生错误,返回 -1。
-
更改用户成员资格(安全)信息。
CREATE PROCEDURE aspnet_Membership_UpdateUserInfo(@ApplicationName nvarchar(256),@UserName nvarchar(256),@IsPasswordCorrect bit,@UpdateLastLoginActivityDate bit,@MaxInvalidPasswordAttempts int,@PasswordAttemptWindow int,@CurrentTimeUtc datetime,@LastLoginDate datetime,@LastActivityDate datetime)
该过程计算并设置(更改)用户成员资格表(aspnet_Memberships) 中的有关用户帐户安全的字段:
IsLockedOut、LastLockoutDate、FailedPasswordAttemptCount、
FailedPasswordAttemptWindowStart、FailedPasswordAnswerAttemptCount、
FailedPasswordAnswerAttemptWindowStart。
输入参数@UpdateLastLoginActivityDate指示是否在上述操作之前,
先更新最后登录时间(LastLoginDate) 字段和用户表(aspnet_Users)中的最后活动时间(LastActivityDate) 字段。
返回值:成功返回 0;
用户不存在,返回 1;
发生错误,返回 -1。
-
更改用户的密码问题和密码答案
CREATE PROCEDURE aspnet_Membership_ChangePasswordQuestionAndAnswer(@ApplicationName nvarchar(256),@UserName nvarchar(256),@NewPasswordQuestion nvarchar(256),@NewPasswordAnswer nvarchar(128))
返回值:成功返回 0;
失败(用户不存在)返回 1。
-
重置用户密码。
CREATE PROCEDURE aspnet_Membership_ResetPassword
(@ApplicationName nvarchar(256),@UserName nvarchar(256),@NewPassword nvarchar(128),@MaxInvalidPasswordAttempts int,@PasswordAttemptWindow int,@PasswordSalt nvarchar(128),@CurrentTimeUtc datetime,@PasswordFormat int = 0,@PasswordAnswer nvarchar(128) = NULL
)
该过程更改用户密码及其相关字段,
然后计算并设置有关用户帐户安全的字段
(参见 aspnet_Membership_UpdateUserInfo )。
返回值:成功返回 0;
用户不存在,返回 1;
用户被锁定,返回 99;
密码问题答案不准确,返回 3;
发生错误,返回-1。
-
设置用户密码。
CREATE PROCEDURE aspnet_Membership_SetPassword
(@ApplicationName nvarchar(256),@UserName nvarchar(256),@NewPassword nvarchar(128),@PasswordSalt nvarchar(128),@CurrentTimeUtc datetime,@PasswordFormat int = 0
)
返回值:成功返回 0;
用户不存在,返回 1;
-
解除用户锁定
CREATE PROCEDURE aspnet_Membership_UnlockUser
(@ApplicationName nvarchar(256),@UserName nvarchar(256)
)
返回值:成功返回 0;
用户不存在,返回 1。
-
(LIKE)查询 Email 与 @EmailToMatch 匹配的用户成员资格数据,返回分页用户数据集。
CREATE PROCEDURE aspnet_Membership_FindUsersByEmail(@ApplicationName nvarchar(256),@EmailToMatch nvarchar(256),@PageIndex int,@PageSize int)
返回值:所有满足条件的行数。
-
(LIKE)查询用户名与@UserNameToMatch匹配的用户成员资格数据,返回分页用户数据集。
CREATE PROCEDURE aspnet_Membership_FindUsersByName(@ApplicationName nvarchar(256),@UserNameToMatch nvarchar(256),@PageIndex int,@PageSize int)
返回值:所有满足条件的行数。
-
返回分页(所有)用户成员资格数据集。
CREATE PROCEDURE aspnet_Membership_GetAllUsers(@ApplicationName nvarchar(256),@PageIndex int,@PageSize int)
返回值:所有满足条件的行数。
-
根据Email查询用户成员资格数据,返回用户数据集(一行)。
CREATE PROCEDURE aspnet_Membership_GetUserByEmail
(@ApplicationName nvarchar(256),@Email nvarchar(256)
)
返回值:成功返回 0;
用户不存在,返回 1。
-
根据用户名查询用户成员资格数据,返回用户数据集(一行)。
CREATE PROCEDURE aspnet_Membership_GetUserByName
(@ApplicationName nvarchar(256),@UserName nvarchar(256),@CurrentTimeUtc datetime,@UpdateLastActivity bit = 0
)
输入参数@UpdateLastActivity指定是否更新用户表(aspnet_Users)中的最后活动时间(LastActivityDate)字段。
返回值:成功返回 0;
用户不存在,返回 -1。
-
根据用户ID查询用户用户成员资格数据,返回用户数据集(一行)。
CREATE PROCEDURE aspnet_Membership_GetUserByUserId(@UserId uniqueidentifier ,@CurrentTimeUtc datetime,@UpdateLastActivity bit = 0)
输入参数@UpdateLastActivity指定是否更新用户表(aspnet_Users)中的最后活动时间(LastActivityDate)字段。
返回值:成功返回 0;
用户不存在,返回 -1。
-
查询用户的密码和存储密码的格式,返回包含用户密码和密码存储格式两个字段的数据据集(一行)。
CREATE PROCEDURE aspnet_Membership_GetPassword(@ApplicationName nvarchar(256),@UserName nvarchar(256),@MaxInvalidPasswordAttempts int,@PasswordAttemptWindow int,@CurrentTimeUtc datetime,@PasswordAnswer nvarchar(128) = NULL)
如果密码问题答案不准确,需计算并设置有关用户帐户安全的字段。
(参见 aspnet_Membership_UpdateUserInfo )。
返回值:成功返回 0;
用户不存在,返回 1;
用户被锁定,返回 99;
密码问题答案不准确,返回 3;
发生错误,返回 -1。
-
查询有关用户密码的详细信息,返回用户帐户信息数据集(一行)。
CREATE PROCEDURE aspnet_Membership_GetPasswordWithFormat
(@ApplicationName nvarchar(256),@UserName nvarchar(256),@UpdateLastLoginActivityDate bit,@CurrentTimeUtc datetime
)
输入参数@UpdateLastLoginActivityDate指示是否更新最后登录时间(LastLoginDate) 字段
和用户表(aspnet_Users)中的最后活动时间(LastActivityDate) 字段。
返回值:成功返回 0;
用户不存在,返回 1;
用户被锁定,返回 99。
-
获取在线用户数。
CREATE PROCEDURE aspnet_Membership_GetNumberOfUsersOnline(@ApplicationName nvarchar(256),@MinutesSinceLastInActive int,@CurrentTimeUtc datetime)
最近@MinutesSinceLastInActive分钟内登录的用户为在线用户,
即满足 LastActivityDate( datetime) >= @CurrentTimeUtc( datetime) - @MinutesSinceLastInActive(分钟数)的条件。
返回值:返回在线用户数。
ASPNETDB 存储过程: 成员资格管理部分
最新推荐文章于 2023-03-15 17:51:41 发布