急!!!怎么判断用户密码错误三次将其帐号禁用
我想在一个用户输入密码错三次后将其帐号锁定,但是现在有个问题是:如果我用一个用户名A登陆时密码错误两次,第三次我用另外一个用户名B登陆,再错一次密码,则就把B帐号给锁定了。
static int i=0;
private void btnLogin_Click(object sender, System.EventArgs e)
{
S_User user = new S_User();
string strUserId = txtUserID.Text.Trim();
string strPassWord = txtPassWord.Text.Trim();
string sucess = user.Login(strUserId,strPassWord);
switch(sucess)
{
case "1 ":
Page.RegisterStartupScript( "ErrorMsg ", " <script language= 'javascript '> alert( '用户名输入错误! '); </script> ");
break;
case "2 ":
i++;
if (i > = 3)
{
user.LockSysAccount(strUserId);
Page.RegisterStartupScript( "ErrorMsg ", " <script language= 'javascript '> alert( '密码输入错误三次,该帐号被锁定,请联系管理员! '); </script> ");
i = 0;
}
else
{
Page.RegisterStartupScript( "ErrorMsg ", " <script language= 'javascript '> alert( '用户密码输入错误! '); </script> ");
}
break;
case "3 ":
Page.RegisterStartupScript( "ErrorMsg ", " <script language= 'javascript '> alert( '该帐号不存在或帐号已被禁用,请联系管理员! '); </script> ");
break;
case "4 ":
Session[ "UserID "] = strUserId;
Response.Redirect( "Desktop.htm ");
break;
}
------解决方案--------------------加个sessionID做为参考,只要sessionID一样,就计数
------解决方案--------------------再用个变量存用户名不就得了,一旦输入用户名不等于保存用户名,计数器复位。
顺便提一下,禁用帐户最好不给提示,否则,不怀好意者会记录你系统上有哪些用户,以作它图……
------解决方案--------------------用户尝试登录的次数保存在session中就可以了