2014-01-18 3 views
0

에서 사용자의 잠금을 해제 : 는 내가합니다 (user.UnlockUser에 오류가내가 사용자를 잠금 해제 할 내 코드가 여기에있다 asp.net MVC

[HttpPost] 
public ActionResult LogOn(LogOnModel model, string returnUrl) 
{ 
    if (ModelState.IsValid) 
    { 
     MembershipUser user = Membership.GetUser(model.UserName); 
     if (user.IsLockedOut) 
     { 
      return RedirectToAction("LockedAccount"); 
      user.UnlockUser(); 
     } 
     else 
     { 
      if (Membership.ValidateUser(model.UserName, model.Password)) 
      { 
       FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
       if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") 
         && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) 
       { 
        return Redirect(returnUrl); 
       } 
       else 
       { 
        return RedirectToAction("Index", "Home"); 
       } 
      } 
      else 
      { 
       ModelState.AddModelError("", "The user name or password provided is incorrect."); 
      } 
     } 
    } 
    // If we got this far, something failed, redisplay form 
    return View(model); 
} 

전에 내 Web.config의에서 maxInvalidPasswordAttempts 설정); 액세스 할 수없는 코드가 있음을 알립니다.

답변

2

user.UnlockUser();에 오류가 있습니다. 그 도달 할 수없는 코드가

당신은 user.UnlockUser() 그래서 함수가 호출되지 않습니다 따라서 당신은 점점 오류 전에 return을 사용했다

if (user.IsLockedOut) 
{ 
    return RedirectToAction("LockedAccount"); 
    user.UnlockUser(); 
} 

코드를 발견했다.

if (user.IsLockedOut) 
{ 
    user.UnlockUser(); 
    return RedirectToAction("LockedAccount"); 
} 

변경을