Soap 意外的401.5错误。身份验证头更改为Kerberos?

Soap 意外的401.5错误。身份验证头更改为Kerberos?,soap,authorization,webclient,trace,Soap,Authorization,Webclient,Trace,此问题似乎存在于特定服务器上。所有其他服务器都正常工作 背景:该网站基本上是Forms Auth,但有一个asmx手动需要基本Auth 我有两个客户 当使用具有基本身份验证凭据的SOAP(asmx客户端代理)调用时,一切正常 当使用相同的基本身份验证凭据使用WebClient或WebRequest调用时,我得到了401.5 文件夹已设置为“所有人” 在设置iis跟踪时,我看到一个非常奇怪的行为。请求到达时带有正确的基本身份验证标头。但在进一步的追踪中,我看到了以下内容: 一般请求头 Header

此问题似乎存在于特定服务器上。所有其他服务器都正常工作

背景:该网站基本上是Forms Auth,但有一个asmx手动需要基本Auth

我有两个客户

  • 当使用具有基本身份验证凭据的SOAP(asmx客户端代理)调用时,一切正常

  • 当使用相同的基本身份验证凭据使用WebClient或WebRequest调用时,我得到了401.5

  • 文件夹已设置为“所有人”

  • 在设置iis跟踪时,我看到一个非常奇怪的行为。请求到达时带有正确的基本身份验证标头。但在进一步的追踪中,我看到了以下内容:

    一般请求头

    Headers=“连接:保持活动状态 内容长度:68 内容类型:application/json 授权:Kerberos 预期:100人继续 主持人:1.2.3.4

    Kerberos看起来很奇怪,好像整个过程中请求头都发生了变化,也许这就是401.5的原因

    我想再次强调,在其他服务器上,两个客户端都没有问题。我能想到的唯一区别是,有问题的服务器是一个DC。但是如果这是一个问题,那么为什么SOAP客户端工作得很好

    有什么想法吗?

    进步

    在一些调试之后,我注意到应用程序_AuthenticateRequest对于每个请求都会触发两次。第一次使用基本身份验证,正如我预期的那样,第二次使用Kerberos

    谷歌搜索后,我发现:

    似乎对于无扩展URL,这些事件可能会触发多次,具体取决于配置的无扩展URL

    回到跟踪,我注意到在非工作服务器中,跟踪显示ExtensionlessUrl-ISAPI-4.0_64位的使用情况,在工作服务器中不存在这样的条目。在比较两个IIS后,我注意到非工作IIS配置了ExtensionlessUrl-ISAPI-4.0_64位,而在工作IIS中配置了ExtensionlessUrl**句柄r**-ISAPI-4.0_64位(请注意“处理程序”)。我比较了涉及的dll,并且工作服务器有一个较新的aspnet_ISAPI.dll。我假设这是一个更新的无扩展url处理程序。我想升级到IIS或.NET可能会安装一个更高版本,但现在我尝试删除ExtensionlessUrl-ISAPI-4.0xxbit,如下所示:

        <remove name="ExtensionlessUrl-ISAPI-4.0_32bit" />
        <remove name="ExtensionlessUrl-ISAPI-4.0_64bit" />
    

    
    

    它成功了!现在只有一个应用程序\u AuthenticateRequest

    跟踪中包含以下内容的非工作版本:

    OldHandlerName=“”,NewHandlerName=“ExtensionlessUrl-ISAPI-4.0\u 64位”,NewHandlerModules=“IsapiModule”,NewHandlerScriptProcessor=“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet\u ISAPI.dll”,NewHandlerType=“”

    现改为:

    OldHandlerName=“”,NewHandlerName=“WebServiceHandlerFactory-ISAPI-4.0\u 64位”,NewHandlerModules=“IsapiModule”,NewHandlerScriptProcessor=“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet\u ISAPI.dll”,NewHandlerType=“”

    希望到此为止。还需要额外的测试

    如果有人能写下如何将IIS DLL升级到更高版本,我将不胜感激。这是对.NET的升级,还是有随Windows update下载的特定KB更新