2012-03-30 59 views
2

我可能会很疯狂,但我想我还记得OnLoginError会产生一个特定于具体错误的值(用户名/密码不匹配,密码尝试次数太多而vs 。账户不活跃等)。这是否存在(msdn提供了我没有答案)或者我只是让它与尝试添加新用户时产生的错误代码混淆?OnLoginError:代码特定于错误的原因

回答

0

想你可能会感到困惑与此:

protected void CreateAccountButton_Click(object sender, EventArgs e) 
{ 
    MembershipCreateStatus createStatus; 
    MembershipUser newUser = Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus); 
    switch (createStatus) 
    { 
      case MembershipCreateStatus.Success: 
       CreateAccountResults.Text = "The user account was successfully created!"; 
       break; 
      case MembershipCreateStatus.DuplicateUserName: 
       CreateAccountResults.Text = "There already exists a user with this username."; 
       break; 

      case MembershipCreateStatus.DuplicateEmail: 
       CreateAccountResults.Text = "There already exists a user with this email address."; 
       break; 
      case MembershipCreateStatus.InvalidEmail: 
       CreateAccountResults.Text = "There email address you provided in invalid."; 
       break; 
      case MembershipCreateStatus.InvalidAnswer: 
       CreateAccountResults.Text = "There security answer was invalid."; 
       break; 
      case MembershipCreateStatus.InvalidPassword: 
       CreateAccountResults.Text = "The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character."; 

       break; 
      default: 
       CreateAccountResults.Text = "There was an unknown error; the user account was NOT created."; 
       break; 
    } 
} 
+0

这令我非常难过。所以我需要创建一个很大的'if else'并且自己检查所有的可能性 – peroija 2012-03-30 19:33:04

+0

我不认为你谈论的方法会给你一个失败的原因。我想你可以重写OnAuthenticate来执行自定义身份验证来找出登录失败的原因 – Jon 2012-03-30 19:42:59

+0

它可以在任意位置完成我想,我可以通过将其置于“OnAuthenticate”中来主动获取错误,或找出错误发生的时间通过将其置于'OnLoginError'中发生的方法我所说的方法是验证un和pw,如果失败则会给出错误。如果它通过测试,看看un是否被锁定,如果是的话...... – peroija 2012-03-30 20:20:20

相关问题