【问题标题】:MembershipReboot lockout functionality issueMembershipReboot 锁定功能问题
【发布时间】:2016-01-15 10:13:28
【问题描述】:

这几天我一直在玩 MembershipReboot 框架,老实说它看起来很不错。我会将它用于我的应用程序。

但是,我的问题是关于它的锁定功能。我曾多次尝试锁定我的帐户,但似乎没有任何反应。这是我的配置

<membershipReboot requireAccountVerification="true" emailIsUsername="false" multiTenant="false" allowAccountDeletion="true" passwordHashingIterationCount="0" accountLockoutDuration="00:05:00" passwordResetFrequency="0" accountLockoutFailedLoginAttempts="2" />

似乎在我第三次甚至第四次尝试时,我可以毫无问题地登录。此外,我调查了 Membership 使用的数据库,但找不到锁定帐户的任何标志。

我的问题是 - 锁定功能是开箱即用的,还是我必须在那里执行我的逻辑?如果实现了,我可以启用它吗?

【问题讨论】:

    标签: c# asp.net asp.net-mvc authentication membershipreboot


    【解决方案1】:

    MembershipReboot 中的帐户锁定使用来自security settings configuration 的两个属性

    • AccountLockoutFailedLoginAttempts(整数,默认值:10):在帐户被锁定之前尝试密码登录失败的次数。
    • AccountLockoutDuration(时间跨度,默认:5 分钟):由于密码登录尝试失败次数过多,帐户将被锁定的持续时间。

    在您的设置中,您将覆盖默认值。因此,如果您在 5 分钟内尝试超过 2 次失败的登录尝试,您的帐户将在您上次登录失败后再锁定 5 分钟。如果您在上次登录失败五分钟后尝试登录,您将登录,因为根据锁定逻辑帐户未锁定。如果您尝试在 5 分钟内登录并且您的失败尝试未超过您仍然可以登录。

    代码胜于文字(Check VerifyPassword method) 您将在 UserAccounts 表中看到帐户锁定所需的所有属性。即 LastFailedLogin 和 FailedLoginCount

    protected virtual bool CheckHasTooManyRecentPasswordFailures(TAccount account)
        {
            var result = false;
            if (Configuration.AccountLockoutFailedLoginAttempts <= account.FailedLoginCount)
            {
                result = account.LastFailedLogin >= UtcNow.Subtract(Configuration.AccountLockoutDuration);
                if (!result)
                {
                    // if we're past the lockout window, then reset to zero
                    account.FailedLoginCount = 0;
                }
            }
    
            if (result)
            {
                account.FailedLoginCount++;
            }
    
            return result;
        }
    

    【讨论】:

    • 没有将答案标记为答案的 OP 是怎么回事?
    猜你喜欢
    • 2018-03-03
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 2013-11-26
    • 1970-01-01
    相关资源
    最近更新 更多