Von docs:
Sie einen Filter global registrieren können (für alle Controller und Aktionen) indem sie sie an die MvcOptions.Filters
Sammlung in der ConfigureServices
Methode in der Startup
Klasse hinzufügen:
Sie können AuthorizeAttribute
nicht in MvcOptions.Filters
einfügen. Erstellen Sie ein AuthorizationPolicy
und verwenden AuthorizeFilter
:
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.RequireRole("Admin", "SuperUser")
.Build();
services.AddMvc(options =>
{
options.Filters.Add(new AuthorizeFilter(policy));
});
Haben Sie überprüfen Sie die [docs] (https://docs.microsoft.com/en-us/aspnet/ core/mvc/controllers/filters # filter-scopes-und-order-of-execution)? – tmg
@tmg Vielen Dank für dieses eine, es scheint, dass es nicht in der Pipeline als "new AuthorizeAttribute()" im Kern im Gegensatz zu den vorherigen ASP.NET-Versionen injiziert werden kann, bin ich jetzt auf der Suche nach einer Möglichkeit, die oben genannten zu migrieren Filter im Kern. – xird