-
創建用戶成員資格。
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 存儲過程(2) 成員資格管理部分
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.