Wie werden alle Controller standardmäßig mit Bearer-Token in ASP.NET Core geschützt?

Wie werden alle Controller standardmäßig mit Bearer-Token in ASP.NET Core geschützt?

Sie können weiterhin Filter wie in diesem Beispiel verwenden:

services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
                 .RequireAuthenticatedUser()
                 .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
});

Die Richtlinie in diesem Beispiel ist sehr einfach, aber es gibt viele Möglichkeiten, eine Richtlinie für verschiedene Anforderungen, Rollen usw. zu konfigurieren.


Beginnend mit .Net Core 3 Es gibt eine etwas andere Art, wie es gemacht wird:

app.UseEndpoints(endpoints =>
{
    endpoints
        .MapControllers()
        .RequireAuthorization(); // This will set a default policy that says a user has to be authenticated
});

Es ist möglich, die Standardrichtlinie zu ändern oder eine neue Richtlinie hinzuzufügen und sie ebenfalls zu verwenden.