是否可以在 ASP.NET Core 2 中指定绝对重定向登录 URL? 标准方法不接受绝对 URL
services.ConfigureApplicationCookie(x => {
x.LoginPath = new PathString("https://localhost:88/account/login");
});
生成运行时错误,因为 URL 应以“/”开头。
最初的问题是我的应用程序服务是通过 HTTPS 提供的,它终止于 CloudFlare,因此当用户未被授权时,ASP.NET 将用户重定向到 HTTP 地址,而不是 HTTPs。
最佳答案
您可以在 Startup.cs
Configure()
方法中覆盖每个请求的应用程序主机名
app.Use((ctx, next) =>
{
ctx.Request.Host = new HostString("https://localhost:88");
return next();
});
然后在您的 ConfigureServices()
方法中:
services.ConfigureApplicationCookie(x => {
x.LoginPath = new PathString("/account/login");
});
我在应用程序网关方面遇到了类似的问题,它终止了与自定义域的 SSL 连接,然后将请求转发到标准 http://*.azurewebsites.net 域中的 Azure Web 应用程序。
看我原来的问题here .
关于c# - ASP.NET Core 2.0 中的自定义绝对登录 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136690/