0
ミドルウェア経由でASP NETコアアプリケーションでユーザー名を設定する方法はありますか?ASP NETコア:HttpContextのユーザー名を上書きする
私は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;
}
}
しかし、これは動作しません、Name
が読み取り専用フィールドであるため。
デベロッパーモードのときにStartup.cs
に電話して、リクエスト中にユーザー名が常に「匿名」になるようにします。
これを行う方法はありますか?