2014-10-16 53 views
1
private ApplicationSignInManager _signInManager; 
    private ApplicationUserManager _userManager; 

    public AccountController() 
    { 
    } 

    public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager) 
    { 
     UserManager = userManager; 
     SignInManager = signInManager; 
    } 

    public ApplicationSignInManager SignInManager 
    { 
     get 
     { 
      return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>(); 
     } 
     private set 
     { 
      _signInManager = value; 
     } 
    } 

    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) 
    { 
     var result = await SignInManager.PasswordSignInAsync 
     (model.Email, model.Password, model.RememberMe, shouldLockout: false); 
     switch (result) 
     { 
      case SignInStatus.Success: 
       return RedirectToLocal(returnUrl); 

      case SignInStatus.LockedOut: 
       return View("Lockout"); 

      default: 
       ModelState.AddModelError("", "Invalid login attempt."); 
       return View(model); 
     } 
    } 

回答

-1

使用模擬框架,如最小起訂量。模擬一個SignInManager。爲每個案例編寫單元測試。

相關問題