惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
T
Tailwind CSS Blog
博客园 - Franky
WordPress大学
WordPress大学
博客园 - 司徒正美
D
DataBreaches.Net
L
LangChain Blog
G
Google Developers Blog
C
Check Point Blog
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
美团技术团队
腾讯CDC
Martin Fowler
Martin Fowler
博客园 - 聂微东
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI

博客园 - wangyan

[转]程序员需要具备的基本技能 LumaQQ.NET For Visual Studio 2005 代码下载 [转]今天你多态了吗? [转]理解C#值类型与引用类型 C#抽象工厂模式的几种实现方法及比较 在C#中使用钩子:按下Alt+F4时使窗口最小化 ASPNETDB 存储过程(4) 个性化用户配置部分 ASPNETDB 存储过程(3) 角色管理部分 ASPNETDB 存储过程(1) 基本及杂类 ASPNETDB 表和视图(3) 个性化用户配置、页面个性化设置 表 和视图 ASPNETDB 表和视图(2) 用户成员资格和角色管理 表 ASPNETDB 数据库关系图、表和视图(1) 基本表和独立表 更改login控件对密码安全性的要求 加密解密、信息摘要 Web网站开发设计中常用的技巧 统计在线用户列表 for .net WebForm ASP.NET中怎样实现在线人数的显示 ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题 软件架构师之路
ASPNETDB 存储过程(2) 成员资格管理部分
wangyan · 2007-12-05 · via 博客园 - wangyan
  1. 创建用户成员资格。

    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

    返回值:成功返回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。

  2. 更改用户成员资格数据。

    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。

  3. 更改用户成员资格(安全)信息。

    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。

  4. 更改用户的密码问题和密码答案

    CREATE PROCEDURE
    aspnet_Membership_ChangePasswordQuestionAndAnswer

    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256),

     @NewPasswordQuestion nvarchar(256),

     @NewPasswordAnswer nvarchar(128)

    )

    返回值:成功返回 0;
    失败(用户不存在)返回 1。

  5. 重置用户密码。


    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
    )

  6. 设置用户密码。

    CREATE PROCEDURE aspnet_Membership_SetPassword
    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256),

     @NewPassword nvarchar(128),

     @PasswordSalt nvarchar(128),

     @CurrentTimeUtc datetime,

     @PasswordFormat int = 0
    )

  7. 解除用户锁定

    CREATE PROCEDURE aspnet_Membership_UnlockUser
    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256)
    )

  8. (LIKE)查询 Email 与 @EmailToMatch 匹配的用户成员资格数据,返回分页用户数据集。

    CREATE PROCEDURE
    aspnet_Membership_FindUsersByEmail

    (

     @ApplicationName nvarchar(256),

     @EmailToMatch nvarchar(256),

     @PageIndex int,

     @PageSize int

  9. (LIKE)查询用户名与@UserNameToMatch匹配的用户成员资格数据,返回分页用户数据集。


    CREATE PROCEDURE
    aspnet_Membership_FindUsersByName

    (

     @ApplicationName nvarchar(256),

     @UserNameToMatch nvarchar(256),

     @PageIndex int,

     @PageSize int

  10. 返回分页(所有)用户成员资格数据集。

    CREATE PROCEDURE
    aspnet_Membership_GetAllUsers

    (

     @ApplicationName nvarchar(256),

     @PageIndex int,

     @PageSize int

  11. 根据Email查询用户成员资格数据,返回用户数据集(一行)。

    CREATE PROCEDURE
    aspnet_Membership_GetUserByEmail
    (

     @ApplicationName nvarchar(256),

     @Email nvarchar(256)
    )

    返回值:成功返回 0;
    用户不存在,返回 1。

  12. 根据用户名查询用户成员资格数据,返回用户数据集(一行)。

    CREATE PROCEDURE
    aspnet_Membership_GetUserByName
    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256),

     @CurrentTimeUtc datetime,

     @UpdateLastActivity bit = 0
    )

    输入参数@UpdateLastActivity指定是否更新用户表(aspnet_Users)中的最后活动时间(LastActivityDate)字段。

    返回值:成功返回 0;
    用户不存在,返回 -1。

  13. 根据用户ID查询用户用户成员资格数据,返回用户数据集(一行)。

    CREATE PROCEDURE aspnet_Membership_GetUserByUserId

    (

     @UserId uniqueidentifier ,

     @CurrentTimeUtc datetime,

     @UpdateLastActivity bit = 0

    )

    输入参数@UpdateLastActivity指定是否更新用户表(aspnet_Users)中的最后活动时间(LastActivityDate)字段。

    返回值:成功返回 0;
    用户不存在,返回 -1。

  14. 查询用户的密码和存储密码的格式,返回包含用户密码和密码存储格式两个字段的数据据集(一行)。

    CREATE PROCEDURE
    aspnet_Membership_GetPassword

    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256),

     @MaxInvalidPasswordAttempts int,

     @PasswordAttemptWindow int,

     @CurrentTimeUtc datetime,

     @PasswordAnswer nvarchar(128) = NULL

  15. 查询有关用户密码的详细信息,返回用户帐户信息数据集(一行)。

    CREATE PROCEDURE aspnet_Membership_GetPasswordWithFormat
    (

     @ApplicationName nvarchar(256),

     @UserName nvarchar(256),

     @UpdateLastLoginActivityDate bit,

     @CurrentTimeUtc datetime
    )

    输入参数@UpdateLastLoginActivityDate指示是否更新最后登录时间(LastLoginDate) 字段
    和用户表(aspnet_Users)中的最后活动时间(LastActivityDate) 字段。

    返回值:成功返回 0;
    用户不存在,返回 1;
    用户被锁定,返回 99。

  16. 获取在线用户数。


    CREATE PROCEDURE
    aspnet_Membership_GetNumberOfUsersOnline

    (

     @ApplicationName nvarchar(256),

     @MinutesSinceLastInActive int,

     @CurrentTimeUtc datetime

    )

    最近@MinutesSinceLastInActive分钟内登录的用户为在线用户,
    即满足 LastActivityDate(datetime) >= @CurrentTimeUtc(datetime) - @MinutesSinceLastInActive(分钟数)的条件。