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

推荐订阅源

Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
N
News | PayPal Newsroom
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
V
V2EX - 技术
S
Secure Thoughts
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
S
Securelist
S
Security Archives - TechRepublic
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
G
GRAHAM CLULEY
H
Hacker News: Front Page
Microsoft Azure Blog
Microsoft Azure Blog
I
Intezer
Google Online Security Blog
Google Online Security Blog
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Webroot Blog
Webroot Blog
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
The Cloudflare Blog
I
InfoQ
L
LangChain Blog
U
Unit 42
P
Proofpoint News Feed
S
Schneier on Security
S
Security Affairs
Y
Y Combinator Blog
T
Tenable Blog
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
量子位
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
博客园 - 聂微东
D
Darknet – Hacking Tools, Hacker News & Cyber Security
GbyAI
GbyAI
AWS News Blog
AWS News Blog

博客园 - 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控件对密码安全性的要求 - wangyan 加密解密、信息摘要 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(分钟数)的条件。