如何通过http登录用户到Blazor服务器端应用程序

问题描述 投票:1回答:1

我正在寻找一种无需使用https即可将用户登录到Blazor服务器端应用程序的方法。在生产中,该应用程序正在反向代理后面运行,它将处理安全性。

[使用默认的Blazor App进行身份验证并通过https访问它时,一切都很好,我可以登录。

但是当我从启动中删除app.UseHsts();app.UseHttpsRedirection();并使用http访问该应用程序时,我无法登录。没有错误消息,我只是重定向到起始页。

如何通过http登录工作?

http authentication asp.net-core razor-pages blazor-server-side
1个回答
0
投票

您可能想使用ForwardedHeaders。他们告诉应用程序什么是客户端的IP和协议

将此添加到Configure方法

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

如果您的代理不在localhost上运行,则还必须配置其IP地址

services.Configure<ForwardedHeadersOptions>(options =>
{
    options.KnownProxies.Add(IPAddress.Parse("127.0.10.1"));
});

可在此处找到更多信息:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-3.1#configure-a-reverse-proxy-server

© www.soinside.com 2019 - 2024. All rights reserved.