在不使用数据库的情况下三次尝试失败后锁定用户

时间:2011-04-30 20:40:23

标签: asp.net

我想在不使用数据库的情况下尝试三次失败后锁定我的用户。

我在尝试:

public int loginAttempts()
{
    if (!(ViewData["loginAttempts"] == null))
    {
        ViewData["loginAttempts"] = int.Parse(ViewData["loginAttempts"].ToString()) + 1;
        return int.Parse(ViewData["loginAttempts"].ToString());
    }          
    else
    {
        ViewData["loginAttempts"] = 1;
        return 1;
    }
}

但它总是会返回1.我需要进行哪些修改?

2 个答案:

答案 0 :(得分:3)

您需要将其存储在会话中,而不是查看数据。查看数据将发送到视图,并且不会在请求之间保留。

public int loginAttempts()
{
    if (!(Session["loginAttempts"] == null))
    {
        Session["loginAttempts"] = int.Parse(Session["loginAttempts"].ToString()) + 1;
        return int.Parse(Session["loginAttempts"].ToString());
    }          
    else
    {
        Session["loginAttempts"] = 1;
        return 1;
    }
}

答案 1 :(得分:0)

使用Session state变量。