c# - ASP.NET Core 2.0 中的自定义绝对登录 URL

标签 c# asp.net authentication asp.net-core asp.net-core-2.0

是否可以在 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/

相关文章:

c# - Linq - 序列包含多个元素

c# - 如何在 C# 中创建音频频谱

c# - 如何从 Click 事件调用 Paint 方法?

c# - 如何使用 C# 将多个复选框列表值插入到单列数据库中

c# - 如何验证域凭据?

Java HTTP PUT 与 Java 中的摘要式身份验证

c# - 带有路径和完整程序集名称的 Assembly.LoadFrom

Aspx 中的 Html 按钮 CSS 更改

asp.net - 在 ASP.NET MVC 中格式化 JSON

ios - 无需设计的 Rails + iOS 身份验证