Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过http将用户登录到Blazor服务器端应用程序_Http_Authentication_Asp.net Core_Razor Pages_Blazor Server Side - Fatal编程技术网

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

如何通过http将用户登录到Blazor服务器端应用程序,http,authentication,asp.net-core,razor-pages,blazor-server-side,Http,Authentication,Asp.net Core,Razor Pages,Blazor Server Side,我正在寻找一种不用https就能让用户登录Blazor服务器端应用程序的方法。在生产中,该应用程序运行在一个反向代理之后,该代理将处理安全问题 当使用默认Blazor应用程序进行身份验证并通过https访问时,一切正常,我可以登录 但是当我删除app.UseHsts()时和app.UseHttpsRedirection()从启动到使用http访问应用程序我无法登录。没有错误消息,我只是被重定向到起始页 如何通过http进行登录?您可能需要使用ForwardedHeaders。它们告诉应用程序客户

我正在寻找一种不用https就能让用户登录Blazor服务器端应用程序的方法。在生产中,该应用程序运行在一个反向代理之后,该代理将处理安全问题

当使用默认Blazor应用程序进行身份验证并通过https访问时,一切正常,我可以登录

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


如何通过http进行登录?

您可能需要使用
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"));
});
services.Configure(选项=>
{
options.KnownProxies.Add(IPAddress.Parse(“127.0.10.1”);
});

更多信息可在此处找到:

您可能需要使用
转发头文件
。它们告诉应用程序客户端的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"));
});
services.Configure(选项=>
{
options.KnownProxies.Add(IPAddress.Parse(“127.0.10.1”);
});
更多信息可在此处找到: