aspnet_Membership_UpdateUserInfo

  1 None.gif ALTER    PROCEDURE  dbo.aspnet_Membership_UpdateUserInfo
  2 None.gif     @ApplicationName                  NVARCHAR ( 256 ),
  3 None.gif     @UserName                         NVARCHAR ( 256 ),
  4 None.gif     @IsPasswordCorrect                BIT ,
  5 None.gif     @UpdateLastLoginActivityDate      BIT ,
  6 None.gif     @MaxInvalidPasswordAttempts       INT ,
  7 None.gif     @PasswordAttemptWindow            INT ,
  8 None.gif     @TimeZoneAdjustment               INT
  9 None.gif AS
 10 None.gif BEGIN
 11 None.gif     DECLARE   @UserId                                   UNIQUEIDENTIFIER
 12 None.gif     DECLARE   @IsApproved                               BIT
 13 None.gif     DECLARE   @IsLockedOut                              BIT
 14 None.gif     DECLARE   @LastLockoutDate                          DATETIME
 15 None.gif     DECLARE   @FailedPasswordAttemptCount               INT
 16 None.gif     DECLARE   @FailedPasswordAttemptWindowStart         DATETIME
 17 None.gif     DECLARE   @FailedPasswordAnswerAttemptCount         INT
 18 None.gif     DECLARE   @FailedPasswordAnswerAttemptWindowStart   DATETIME
 19 ExpandedBlockStart.gifContractedBlock.gif     /**/ /*声明关于密码的一堆变量*/    
 20 None.gif    
 21 None.gif
 22 None.gif     DECLARE   @ErrorCode       INT
 23 None.gif     SET   @ErrorCode   =   0
 24 None.gif
 25 None.gif     DECLARE   @TranStarted     BIT
 26 None.gif     SET   @TranStarted   =   0
 27 None.gif
 28 None.gif     IF @@TRANCOUNT   =   0  )  -- 如果当前活动事务为0,开始事务并设置事务参数为1
 29 None.gif      BEGIN
 30 None.gif         BEGIN   TRANSACTION
 31 None.gif         SET   @TranStarted   =   1
 32 None.gif     END
 33 None.gif     ELSE
 34 None.gif         SET   @TranStarted   =   0
 35 None.gif
 36 None.gif     DECLARE   @DateTimeNowUTC   DATETIME   -- 声明当前时间并获取当前时间 
 37 None.gif      EXEC  dbo.aspnet_GetUtcDate  @TimeZoneAdjustment @DateTimeNowUTC  OUTPUT
 38 None.gif
 39 None.gif
 40 None.gif     SELECT    @UserId   =  u.UserId,
 41 None.gif             @IsApproved   =  m.IsApproved,
 42 None.gif             @IsLockedOut   =  m.IsLockedOut,
 43 None.gif             @LastLockoutDate   =  m.LastLockoutDate,
 44 None.gif             @FailedPasswordAttemptCount   =  m.FailedPasswordAttemptCount,
 45 None.gif             @FailedPasswordAttemptWindowStart   =  m.FailedPasswordAttemptWindowStart,
 46 None.gif             @FailedPasswordAnswerAttemptCount   =  m.FailedPasswordAnswerAttemptCount,
 47 None.gif             @FailedPasswordAnswerAttemptWindowStart   =  m.FailedPasswordAnswerAttemptWindowStart
 48 None.gif     FROM     dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m  WITH  ( UPDLOCK )
 49 None.gif     WHERE     LOWER ( @ApplicationName =  a.LoweredApplicationName  AND
 50 None.gif            u.ApplicationId  =  a.ApplicationId     AND
 51 None.gif            u.UserId  =  m.UserId  AND
 52 None.gif             LOWER ( @UserName =  u.LoweredUserName
 53 ExpandedBlockStart.gifContractedBlock.gif     /**/ /*查询此用户的信息,字段都是上面声明的有关于密码的变量*/
 54 None.gif
 55 None.gif     IF  (  @@rowcount   =   0  )  -- 如果受影响行数为0,回滚事物并返回错误代码
 56 None.gif      BEGIN
 57 None.gif         SET   @ErrorCode   =   1
 58 None.gif         GOTO  Cleanup
 59 None.gif     END
 60 None.gif
 61 None.gif     IF @IsLockedOut   =   1  )  -- 如果用户被锁定,也回滚,不允许操作
 62 None.gif      BEGIN
 63 None.gif         GOTO  Cleanup
 64 None.gif     END
 65 None.gif
 66 None.gif     IF @IsPasswordCorrect   =   0  )  -- 如果密码不正确
 67 None.gif      BEGIN
 68 None.gif         IF @DateTimeNowUTC   >   DATEADD ( minute,  @PasswordAttemptWindow @FailedPasswordAttemptWindowStart  ) )
 69 None.gif         BEGIN
 70 None.gif             SET   @FailedPasswordAttemptWindowStart   =   @DateTimeNowUTC
 71 None.gif             SET   @FailedPasswordAttemptCount   =   1
 72 None.gif         END
 73 None.gif         ELSE
 74 None.gif         BEGIN
 75 None.gif             SET   @FailedPasswordAttemptWindowStart   =   @DateTimeNowUTC
 76 None.gif             SET   @FailedPasswordAttemptCount   =   @FailedPasswordAttemptCount   +   1
 77 None.gif         END
 78 None.gif
 79 None.gif         BEGIN
 80 None.gif             IF @FailedPasswordAttemptCount   >=   @MaxInvalidPasswordAttempts  )
 81 None.gif             BEGIN
 82 None.gif                 SET   @IsLockedOut   =   1
 83 None.gif                 SET   @LastLockoutDate   =   @DateTimeNowUTC
 84 None.gif             END
 85 None.gif         END
 86 None.gif     END
 87 ExpandedBlockStart.gifContractedBlock.gif      /**/ /*处理密码相关的问题*/
 88 None.gif     ELSE
 89 None.gif     BEGIN
 90 None.gif         IF @UpdateLastLoginActivityDate   =   1  )  -- 如果更新最近登陆和活跃时间
 91 None.gif          BEGIN
 92 None.gif             UPDATE   dbo.aspnet_Membership
 93 None.gif             SET      LastLoginDate  =   @DateTimeNowUTC
 94 None.gif             WHERE    UserId  =   @UserId
 95 None.gif             -- 更新最近登陆时间
 96 None.gif
 97 None.gif             IF @@ERROR   <>   0  )
 98 None.gif             BEGIN
 99 None.gif                 SET   @ErrorCode   =   - 1
100 None.gif                 GOTO  Cleanup
101 None.gif             END
102 None.gif
103 None.gif             UPDATE   dbo.aspnet_Users
104 None.gif             SET      LastActivityDate  =   @DateTimeNowUTC
105 None.gif             WHERE     @UserId   =  UserId
106 None.gif             -- 更新最近活跃时间
107 None.gif              IF @@ERROR   <>   0  )
108 None.gif             BEGIN
109 None.gif                 SET   @ErrorCode   =   - 1
110 None.gif                 GOTO  Cleanup
111 None.gif             END
112 None.gif         END
113 None.gif
114 None.gif         IF @FailedPasswordAttemptCount   >   0   OR   @FailedPasswordAnswerAttemptCount   >   0  )
115 None.gif         -- --如果密码尝试次数或者答案尝试次数大于0(此时输入正确,则全部还原处世状态)
116 None.gif          BEGIN
117 None.gif             SET   @FailedPasswordAttemptCount   =   0
118 None.gif             SET   @FailedPasswordAttemptWindowStart   =   CONVERT DATETIME ' 17540101 ' 112  )
119 None.gif             SET   @FailedPasswordAnswerAttemptCount   =   0
120 None.gif             SET   @FailedPasswordAnswerAttemptWindowStart   =   CONVERT DATETIME ' 17540101 ' 112  )
121 None.gif             SET   @LastLockoutDate   =   CONVERT DATETIME ' 17540101 ' 112  )
122 None.gif         END
123 None.gif     END
124 None.gif
125 None.gif     UPDATE  dbo.aspnet_Membership
126 None.gif     SET  IsLockedOut  =   @IsLockedOut , LastLockoutDate  =   @LastLockoutDate ,
127 None.gif        FailedPasswordAttemptCount  =   @FailedPasswordAttemptCount ,
128 None.gif        FailedPasswordAttemptWindowStart  =   @FailedPasswordAttemptWindowStart ,
129 None.gif        FailedPasswordAnswerAttemptCount  =   @FailedPasswordAnswerAttemptCount ,
130 None.gif        FailedPasswordAnswerAttemptWindowStart  =   @FailedPasswordAnswerAttemptWindowStart
131 None.gif     WHERE   @UserId   =  UserId
132 None.gif        -- -使用上面的参数更新表
133 None.gif      IF @@ERROR   <>   0  )
134 None.gif     BEGIN
135 None.gif         SET   @ErrorCode   =   - 1
136 None.gif         GOTO  Cleanup
137 None.gif     END
138 None.gif
139 None.gif     IF @TranStarted   =   1  )
140 None.gif     BEGIN
141 None.gif     SET   @TranStarted   =   0
142 None.gif     COMMIT   TRANSACTION
143 None.gif     END
144 None.gif
145 None.gif     RETURN   @ErrorCode
146 None.gif
147 None.gifCleanup:
148 None.gif
149 None.gif     IF @TranStarted   =   1  )
150 None.gif     BEGIN
151 None.gif         SET   @TranStarted   =   0
152 None.gif         ROLLBACK   TRANSACTION
153 None.gif     END
154 None.gif
155 None.gif     RETURN   @ErrorCode
156 None.gif
157 None.gif END

转载于:https://www.cnblogs.com/ruanbl/archive/2006/08/31/491057.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值