gpt4 book ai didi

c# - ASP.NET Core 2.0 应用程序超时时重定向到绝对 URL

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:59 25 4
gpt4 key购买 nike

我正在运行一个 ASP.NET Core 2.0 应用程序,该应用程序利用应用程序网关后面的 Azure 应用服务中托管的 ASP.NET Identity。

我设置了一个自定义域,通过 SSL 指向应用程序网关,然后该网关终止 SSL 并将请求转发到我的后端池,该池使用超过 80 的默认 *.azurewebsites.net 域。

例如请求 custom.com:443 ---> 应用程序网关 ---> custom.azurewebsites.net:80

我已使用以下中间件将 ASP.NET Core 2.0 应用程序配置为在 1 小时后超时用户 session :

services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
});

当用户超时然后执行另一个操作时,他们将被重定向到 custom.azurewebsites.net:80 上应用服务的登录页面,而不是通过应用程序网关返回。

有没有办法在超时时重定向到绝对 URL,而不是相对 URL?

最佳答案

谢谢Tratcher寻求您的帮助。

Azure 应用程序网关似乎没有添加 X-Forwarded-Host header ,因此添加 app.UseForwardedHeaders() 中间件是徒劳的。相反,我添加了一个配置值,该值保存当前环境的主机,并使用自定义域覆盖每个请求的“主机”属性。

app.Use((ctx, next) =>
{
ctx.Request.Host = new HostString(options.Value.CustomDomain);
return next();
});

然后,ASP.NET 身份验证中间件使用该值来构造重定向 URL。

我也 written Microsoft some feedback on this issue here ,因为我确信我的用例并不罕见。

关于c# - ASP.NET Core 2.0 应用程序超时时重定向到绝对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49319576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com