HttpListener.DefaultServiceNames 属性

定义

获取由已注册前缀确定的服务提供程序名 (SPN) 的默认列表。

public:
 property System::Security::Authentication::ExtendedProtection::ServiceNameCollection ^ DefaultServiceNames { System::Security::Authentication::ExtendedProtection::ServiceNameCollection ^ get(); };
public System.Security.Authentication.ExtendedProtection.ServiceNameCollection DefaultServiceNames { get; }
member this.DefaultServiceNames : System.Security.Authentication.ExtendedProtection.ServiceNameCollection
Public ReadOnly Property DefaultServiceNames As ServiceNameCollection

属性值

一个包含 SPN 列表的 ServiceNameCollection

注解

属性 DefaultServiceNames 与集成 Windows 身份验证一起使用,以提供扩展保护。 访问时,将从 属性初始化 Prefixes SPN 列表,并在将新前缀添加到 Prefixes 属性时清除。

DefaultServiceNames如果应用程序未在其扩展保护策略上设置 属性,CustomServiceNames则使用 属性。

ServiceNameCollection使用 DefaultServiceNames 属性检索的 根据以下规则从 Prefixes 属性生成 :

  1. 如果主机名为“+”、“*”或 IPv4 或 IPv6 文本 (等效于“*”,但仅限于特定本地接口) ,则添加以下 SPN:

"HTTP/" 加上计算机的完全限定域名。

  1. 如果主机名不包含点 (没有域或子域) ,则尝试使用 DNS 解析完全限定的域名 () 使用的 HttpWebRequest 相同行为。 如果可以解析完全限定的域名,则会添加以下 SPN:

"HTTP/" 加上主机名 (短名称) 。

"HTTP/" 加上主机名的完全限定域名。

  1. 如果主机名不包含点 () 没有域或子域,并且无法解析完全限定的域名,则会添加以下 SPN:

"HTTP/" 加上主机名。

  1. 如果主机名包含 (域或子域) 的点,则会添加以下 SPN:

"HTTP/" 加上主机名。

应用程序 DefaultServiceNames 可以使用 属性来查看默认 SPN 列表,如果未提供自定义列表,则用于身份验证。 如果需要其他 SPN,应用程序可以使用方法之 Merge 一添加它们。

使用扩展保护根据请求的 URL 做出策略决策时,这是不安全的,因为这可以进行欺骗。 相反,应用程序应依赖 LocalEndPointRemoteEndPoint 属性来做出此类策略决策。

适用于

另请参阅