Я пытался предотвратить перенаправление, когда возвращаю NotAuthorized IActionResult из контроллера, но независимо от моих попыток NotAuthorized переводится в Redirect.mvc6 несанкционированные результаты при перенаправлении вместо
Я пробовал то, что упоминается here (эта же проблема, используя старую бета-версию, я использую 1.0.0-rc1-final). У меня нет пространства имен Уведомления (было удалено в rc1-final).
Это мой Логин Контроллер:
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
if (ModelState.IsValid)
{
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
return Ok(model);
}
if (result.IsLockedOut)
{
return new HttpStatusCodeResult((int)HttpStatusCode.Forbidden);
}
else
{
return HttpUnauthorized();
}
}
return HttpUnauthorized();
}
В Startup.cs я попытался изменения над этим:
services.Configure<CookieAuthenticationOptions>(o =>
{
o.LoginPath = PathString.Empty;
o.ReturnUrlParameter = PathString.Empty;
o.AutomaticChallenge = false;
});
Каждый раз, когда Логин не удается (не обращайте внимания на то, что пароль возвращается на Ok) и должен привести к пустой странице 401, я получаю перенаправление на/Account/Login вместо этого. Что это за трюк?
Вы пытаетесь сделать это на странице входа? или это для проверки подлинности API REST? Если это для API, вы можете посмотреть на это: http://wildermuth.com/2015/9/10/ASP_NET_5_Identity_and_REST_APIs – drinck
REST API, ваша ссылка предполагает, что пространство имен существует, но оно было удалено. Связанное решение больше не работает. – galmok