我的目標是從我的登錄控制器返回401錯誤。我使用內置的.Net成員資格提供程序啓動了一個庫存MVC站點。目前發生的事情是,當我從控制器返回401時,我得到一個http://xxxxx/Account/Login?ReturnURL=XXXX
我不想重定向發生,我只想讓控制器返回一個401,以便我可以在客戶端處理它。任何有關這個問題的幫助將不勝感激。使用ReturnURL的MVC登錄失敗
所有的代碼是除了在賬戶控制器登錄方法股價成員提供
[HttpPost]
[AllowAnonymous]
public async Task<ActionResult> Login(LoginViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, change to shouldLockout: true
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return new HttpStatusCodeResult(200);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
// return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
return new HttpStatusCodeResult(401);
}
}
您預計'ActionResult'返回類型和值return是此類型的一個實例。如果你想返回純粹的狀態碼,看一下Web API模板中的IHttpActionResult' – Sherlock