Gibt es eine Möglichkeit, den Benutzernamen in einer ASP NET Core-Anwendung über Middleware festzulegen?ASP NET Core: Überschreiben Benutzername von HttpContext
Ich habe eine AnonymousUserMiddleware
:
public AnonymousUserMiddleware(RequestDelegate next, HttpContextCurrentClaimsPrincipalAccessor currentClaimsPrincipalAccessor, ILogger<AnonymousUserMiddleware> logger)
{
_next = next;
_currentClaimsPrincipalAccessor = currentClaimsPrincipalAccessor;
_logger = logger;
}
public async Task Invoke(HttpContext context)
{
try
{
_currentClaimsPrincipalAccessor?.Current?.Identity?.Name = "anonymous";
await _next.Invoke(context);
}
catch (Exception ex)
{
_logger.LogError(1, ex, "Exception");
throw ex;
}
}
Aber das funktioniert nicht, weil Name
ein Nur-Lese-Feld ist.
Ich möchte dies in der Startup.cs
im Developer-Modus aufrufen, so dass der Benutzername während einer Anfrage immer "anonym" ist.
Gibt es eine Möglichkeit, dies zu erreichen?