Ich habe versucht, die Umleitung zu verhindern, wenn ich ein NotAuthorized IActionResult von einem Controller zurückgeben, aber unabhängig von meinen Versuchen, NotAuthorized wird in eine Umleitung übersetzt.mvc6 nicht autorisierte Ergebnisse in Redirect stattdessen
Ich habe versucht, was erwähnt wird here (gleiche Ausgabe, mit älteren Beta-Framework, ich benutze 1.0.0-rc1-Finale). Ich habe den Notifications-Namespace nicht (wurde in RC1-final entfernt).
Dies ist meine Anmeldung Controller:
[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();
}
In Startup.cs Ich habe über diese versucht Variationen:
services.Configure<CookieAuthenticationOptions>(o =>
{
o.LoginPath = PathString.Empty;
o.ReturnUrlParameter = PathString.Empty;
o.AutomaticChallenge = false;
});
Jedesmal, wenn ein Login fehlschlägt (bitte ignorieren, dass das Passwort auf Ok zurückgegeben wird) und sollte zu einer leeren 401 Seite führen, bekomme ich stattdessen eine Umleitung zu/Account/Login. Was ist der Trick hier?
Versuchen Sie dies auf einer Anmeldeseite? oder ist es für die REST-API-Authentifizierung? Wenn dies für eine API der Fall ist, sehen Sie sich dies an: http://wildermuth.com/2015/9/10/ASP_NET_5_Identity_and_REST_APIs – drinck
REST-API, Ihr Link setzt voraus, dass der Namespace für Benachrichtigungen zwar existiert, aber entfernt wurde. Die verknüpfte Lösung funktioniert nicht mehr. – galmok