0

我试图在 n 次不成功尝试后锁定用户,这仅在用户有电子邮件 ID 并且我使用用户名而不是电子邮件 ID 登录我的应用程序时才有效。在这种情况下,我可以锁定也没有电子邮件 ID 的用户?

4

1 回答 1

0

您可以尝试在会话变量中保留失败计数器。不过,您需要将会话状态添加到 web.config 才能使用此代码。

在您的控制器中

    public int getFailedAttempts()
    {
        int? failedAttempts = Session["FailedAttempts"] as int?;

        if (failedAttempts != null)
        {
            return (int)failedAttempts;
        }
        else {
            return 0;
        }
    }

    public void handleFailedAttempt()
    {
        var failedAttempts = getFailedAttempts();

        Session["FailedAttempts"] = failedAttempts + 1;
    }

在 web.config 中

    <system.web>
      ...
      <sessionState mode="InProc" timeout="30" />
    </system.web>
于 2016-02-25T17:59:32.020 回答