Я хотел протестировать очень простой аутентификационный слой
public class CustomAuth : AuthorizeAttribute, IAuthorizationFilter
{
public CustomAuth()
{
}
public void OnAuthorization(AuthorizationFilterContext context)
{
var cookies = context.HttpContext.Request.Cookies;
var ok = cookies["Auth0"] == "asdf";
if (!ok)
{
context.Result = new StatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);
return;
}
}
}
[CustomAuth]
public IActionResult Index()
{
return View();
}
И когда нет файла cookie с именем Auth0
со значением asdf
, тогда все работает нормально, но когда я добавляю его, тогда No authenticationScheme was specified, and there was no DefaultChallengeScheme found.
Я попытался установить context.Result = ...;
, например, new OkResult()
или RedirectToActionResult
, и это сработало, но я просто хочу позволить ему перейти прямо к этому Index
вместо того, чтобы переместить все из этого действия в этот OnAuthorization
метод
как мне этого добиться?