.net core 在Blazor服务器端项目中获取referer

.net core 在Blazor服务器端项目中获取referer,.net-core,asp.net-core-2.0,blazor-server-side,.net Core,Asp.net Core 2.0,Blazor Server Side,我正在为客户开发Blazor服务器端站点,他们正在使用MailChimp注册时事通讯。当他们填写表单时,会有一个来自MailChimp的确认页面,在此页面之后,MailChimp会将他们重定向到客户指定的页面,在本例中为/Thank。然而,我只希望用户能够访问这个页面,如果他们是从MailChimp发送到那里的,而不是直接访问那个页面 我希望能够在OnInitAsync方法中获得referer,我希望用户是从MailChimp定向到那里的,他们将被重定向到主页。我已经知道如何重定向它们,只是没有

我正在为客户开发Blazor服务器端站点,他们正在使用MailChimp注册时事通讯。当他们填写表单时,会有一个来自MailChimp的确认页面,在此页面之后,MailChimp会将他们重定向到客户指定的页面,在本例中为/Thank。然而,我只希望用户能够访问这个页面,如果他们是从MailChimp发送到那里的,而不是直接访问那个页面

我希望能够在OnInitAsync方法中获得referer,我希望用户是从MailChimp定向到那里的,他们将被重定向到主页。我已经知道如何重定向它们,只是没有得到引用地址。任何指导都将不胜感激


谢谢

您可以使用HttpRequest.urlReferer检查它是否来自MailChimp。

或者添加一个查询字符串参数,如/Thank?r=1234ERTY
如果不存在参数,则重定向。

您可以使用HttpRequest.UrlReferrer检查它是否来自MailChimp。

或者添加一个查询字符串参数,如/Thank?r=1234ERTY 如果不存在参数,则重定向

Uri MyUrl = Request.UrlReferrer;
string host = MyUrl .Host;