RoutingEndpointConventionBuilderExtensions.RequireHost<TBuilder> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
要求终结点在路由期间匹配指定主机之一。
public:
generic <typename TBuilder>
where TBuilder : Microsoft::AspNetCore::Builder::IEndpointConventionBuilder[System::Runtime::CompilerServices::Extension]
static TBuilder RequireHost(TBuilder builder, ... cli::array <System::String ^> ^ hosts);
public static TBuilder RequireHost<TBuilder>(this TBuilder builder, params string[] hosts) where TBuilder : Microsoft.AspNetCore.Builder.IEndpointConventionBuilder;
static member RequireHost : 'Builder * string[] -> 'Builder (requires 'Builder :> Microsoft.AspNetCore.Builder.IEndpointConventionBuilder)
<Extension()>
Public Function RequireHost(Of TBuilder As IEndpointConventionBuilder) (builder As TBuilder, ParamArray hosts As String()) As TBuilder
类型参数
- TBuilder
参数
- builder
- TBuilder
要 IEndpointConventionBuilder 向其添加元数据的元数据。
- hosts
- String[]
路由期间使用的主机。 主机应为 Unicode 而不是 punycode,并且可能具有端口。 空集合表示将接受任何主机。
返回
TBuilder
操作完成后对此实例的引用。
注解
依赖于 主机标头的 API(包括 Host 和 RequireHost<TBuilder>(TBuilder, String[]))容易受到客户端欺骗的影响。
若要防范主机和端口欺骗:
- 使用 ITlsHandshakeFeature.HostName 验证 TLS 握手期间使用的服务器名称。
- 使用(具体而言)LocalPort验证接受Connection连接的本地端口。