Я бы хотел написать свой пользовательский аутентификатор настолько просто, насколько это возможно
[MyAuth]
public async Task<string> Index()
{
return "tested";
}
public class MyAuth : AuthorizeAttribute
{
public MyAuth()
{
}
public void OnAuthorization(AuthorizationFilterContext context)
{
var context = context.HttpContext;
if (!something)
{
return Forbidden;
}
return Ok;
}
}
Но для этого кода требуется, чтобы я указал схему аутентификации
InvalidOperationException: никакой аутентификацииScheme не былоуказан, и DefaultChallengeScheme не найден.
Также, как я могу вставить контекст БД туда?
[MyAuth]
public async Task<string> Index()
{
return "tested";
}
public class MyAuth : AuthorizeAttribute
{
private readonly DatabaseContext context;
public MyAuth(DatabaseContext db)
{
context = db;
}
public void OnAuthorization(AuthorizationFilterContext context)
{
var context = context.HttpContext;
if (!something)
{
return Forbidden;
}
return Ok;
}
}
или я действительно должен использовать свой собственный Middleware
?но если да, то как я могу решить, отправляется ли запрос в конечную точку, для которой требуется [Authorize]
?