Ich habe eine AspNetCore Web API, die ich mit IdentityServer4 sichern möchte. Ich habe erfolgreich IdentityServer4 implementiert und habe keine Probleme, Methoden in MVC-Controller mit dem [Authorize]
Attribut zu sichern.Asp.NetCore Middleware Autorisierung
Ich kann nicht herausfinden, wie die Sicherheit mit benutzerdefinierte (nicht MVC) Middleware erzwingen, jedoch. Zum Beispiel in meinem Startup.cs, ich habe:
app.Use(async (context, next) =>
{
// I want to require an authenticated user here
using (var writer = new StreamWriter(context.Response.Body))
{
await writer.WriteAsync(string.Format("Welcome to the jungle, {0}", context.User.Identity.Name);
}
});
ich einen Brute-Force-Ansatz nehmen könnte, aber klar ist die app.UseIdentityServer();
dass stark anheben zu behandeln ausgerichtet, so will ich nicht neu zu erfinden das Rad hier.
Ich habe das getan, aber die Benutzer werden nicht aufgefordert, sich einfach mit dem Befehl 'app.UseIdentityServer()' einzuloggen. Dies ist sinnvoll, da einige MVC-Methoden möglicherweise nicht mit dem Attribut "[Authorize]" markiert sind, was bedeutet, dass ein anonymer Zugriff erlaubt sein sollte. –