1

我有一个在 VM(带有 Apache2 的 Ubuntu)上运行的 Blazor 服务器应用程序,在用户和应用程序之间还有一个反向代理来处理身份验证。代理向应用程序发送带有用户信息的附加标头。我需要使用这些标头才能在组件中显示有关用户的信息。我已经在 Program.cs 中设置了转发的标题,但我正在努力阅读它们。问题是它们出现在初始化组件时并出现在浏览器中,但是当组件进一步加载时,这些标题消失了。这是我第一次进行任何形式的身份验证,所以我肯定在这里做错了。

我目前用来读取标题的代码:

List<(string key, string value)> headers = new List<(string key, string value)>(); 

protected override void OnInitialized()
{
    var context = contextAccessor.HttpContext.Request.Headers;
    if (context is not null)
    {
        foreach (var header in context)
        {
            headers.Add((header.Key, header.Value));
        }
    }
    base.OnInitialized();
}

谁能在这里指出我正确的方向?

4

0 回答 0