Asp.net 托管WCF应用程序IIS身份验证

Asp.net 托管WCF应用程序IIS身份验证,asp.net,wcf,authentication,iis,Asp.net,Wcf,Authentication,Iis,我已经编写了一个WCF服务,需要托管该服务,我可以在IIS中托管,也可以自托管,我希望通过在下面的web.config文件中设置绑定来使用Windows身份验证: <bindings> <netHttpBinding> <binding> <security mode="Transport"> <transport clientCredentialType="Windows" /> &

我已经编写了一个WCF服务,需要托管该服务,我可以在IIS中托管,也可以自托管,我希望通过在下面的web.config文件中设置绑定来使用Windows身份验证:

<bindings>
  <netHttpBinding>
    <binding>
      <security mode="Transport">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </netHttpBinding>
</bindings>

我试图了解IIS在身份验证和将身份验证传递给web应用程序方面所做的工作,特别是:

  • 如果我在IIS中托管,是否需要为服务器启用Windows身份验证 IIS管理设置中的服务站点

  • 如果是这样,为什么服务不能简单地执行
    Windows身份验证
    从配置文件就像自主机一样-为什么IIS需要参与?自宿主 不需要web.config文件以外的任何内容

  • 在IIS中是否有方法让应用程序(ASP MVC、WCF等)运行 句柄身份验证类型(窗体、Windows身份验证、基本) 未启用它们(原因是未配置站点 正确地说,如果代码处理 身份验证(然后安全意图变得明确)

如果我在IIS中托管,是否需要在IIS管理设置中为服务站点启用Windows身份验证

如果是这样,为什么服务不能像自主机一样从配置文件执行Windows身份验证?为什么IIS需要参与?Self-host只需要web.config文件

因为Windows身份验证是一项功能。安装后,您可以为特定站点或服务启用或禁用此功能。请注意,Windows Vista®和Windows®7的家庭版或入门版不支持Windows身份验证

IIS WCF主机实现与自主机实现完全不同。需要Windows身份验证功能来设置安全上下文标识(ServiceSecurityContext.Current.WindowsIdentity)或模拟调用方()以在IIS WCF主机上工作

在IIS中,应用程序(ASP MVC、WCF等)是否可以在不启用身份验证类型(窗体、Windows身份验证、Basic)的情况下处理身份验证类型(原因是,如果站点配置不正确,则可能存在安全风险,如果代码处理身份验证,则安全意图变得明确)

您必须先安装该功能,然后才能使用它。没有安全风险,因为它根本不起作用。例如,如果将站点或服务配置为使用windows身份验证,匿名用户将无法访问此站点或服务

如果我在IIS中托管,是否需要在IIS管理设置中为服务站点启用Windows身份验证

如果是这样,为什么服务不能像自主机一样从配置文件执行Windows身份验证?为什么IIS需要参与?Self-host只需要web.config文件

因为Windows身份验证是一项功能。安装后,您可以为特定站点或服务启用或禁用此功能。请注意,Windows Vista®和Windows®7的家庭版或入门版不支持Windows身份验证

IIS WCF主机实现与自主机实现完全不同。需要Windows身份验证功能来设置安全上下文标识(ServiceSecurityContext.Current.WindowsIdentity)或模拟调用方()以在IIS WCF主机上工作

在IIS中,应用程序(ASP MVC、WCF等)是否可以在不启用身份验证类型(窗体、Windows身份验证、Basic)的情况下处理身份验证类型(原因是,如果站点配置不正确,则可能存在安全风险,如果代码处理身份验证,则安全意图变得明确)

您必须先安装该功能,然后才能使用它。没有安全风险,因为它根本不起作用。例如,如果您将站点或服务配置为使用windows身份验证,匿名用户将无法访问此站点或服务。

签出。
这提供了所有详细信息,请按照此操作,我相信您会得到您想要的。

退房。
这提供了所有的细节,遵循这一点,我相信你会得到你想要的