从启动重定向到自定义域

时间:2019-05-20 12:37:07

标签: c# asp.net-core

我有带有自定义身份验证域的asp .net核心项目。因此,当我当时点击登录网址时,我想重定向自定义域。

为此,我有用于重定向的代码,但是它将不接受urn和领域。因为我有一个MVC项目,所以我在web.config文件中设置了与我的自定义身份验证域相关的所有配置,它将仅通过以下行代码重定向到自定义身份验证:realm : "mycurentlocalhost" issuer : "authportalurl" in web.config,因此如何设置在asp .net核心中注册此代码,因为.net核心没有web.config,如果我从启动重定向,那么它将导致我的身份验证门户出现错误,您不是订阅者,因为我不知道如何从asp传递urn .net核心启动文件。

我尝试在配置方法启动文件中使用contect.Response.Redirect("customportalurl")

var url = "customdomainurl";

if (context.Request.Path.Value.IndexOf(url, StringComparison.CurrentCultureIgnoreCase) == -1)
{         
    context.Response.Redirect(url);
    return;
}

1 个答案:

答案 0 :(得分:0)

您必须添加中间件。在Startup.cs类中,有一种方法Configure。您需要添加以下代码

app.Use((context, next) =>
                {
                    var request = context.Request;
                    var host = request.Host;
                    if (host.Host.Equals("customdomainurl", StringComparison.OrdinalIgnoreCase))
                    {
                        context.Response.Redirect(UriHelper.Encode(request.Scheme, newHost,
                            request.PathBase, request.Path, request.QueryString));
                        return Task.FromResult(0);
                    }
                    return next();
                });