IIS Windows集成身份validation,不传递域\用户

我有两台服务器。 既运行IIS7.5。

他们都运行相同版本的基于Web的应用程序,它占用了几个应用程序池(它运行的很多servlets等)。

我有一个连接到该应用程序的Excel插件,可以绘制数据。

我所知道的两台机​​器之间的唯一区别是,工作的人运行所有的应用程序池与标准帐户,localsystem,apppoolidentity等

失败的人使用其大部分应用程序池(主要是Web应用程序使用的应用程序池)的特定服务帐户。

问题的症结似乎是在工作机器上交换如下 –

POST /Service/Hierarchy.svc - 80 - 10.100.69.49 - 200 0 0 0 GET /Application/login/login.dll - 80 DOM\Account 10.100.69.49 - 200 0 0 140 

和失败的服务器上 –

 POST /Service/Hierarchy.svc - 80 - 10.100.69.49 - 200 0 0 0 GET /Application/login/login.dll - 80 - 10.100.69.49 - 401 2 5 358 

注意帐户不通过。

所有其他的设置,我可以看到,除了…. application / login / login.dllauthentication设置相同,在工作服务器上是协商,然后NTLM,在失败的服务器上,如果我把它那样应用程序的其他部分停止与401挑战需要凭据工作。

任何人都可以提供任何build议,如何debugging呢?

谢谢

编辑:这是一个修剪失败尝试wireshark捕获。

 GET /Application/login/login.dll HTTP/1.1 Authorization: Negotiate YIILwgYGKwYBBQUCoIILtjCCC7KgM...etc Host: MachineName HTTP/1.1 401 Unauthorized Content-Type: text/html Server: Microsoft-IIS/7.5 WWW-Authenticate: Negotiate oYGNMIGKoAMKAQGhC...etc WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 20 Apr 2016 05:42:58 GMT Content-Length: 1293 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ...html <title>401 - Unauthorized: Access is denied due to invalid credentials.</title> ...html <div id="header"><h1>Server Error</h1></div> <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3> ...html GET /Application/login/login.dll HTTP/1.1 Authorization: Negotiate oYILiTCCC4WgAwoBAa...etc Host: MachineName HTTP/1.1 401 Unauthorized Content-Type: text/html Server: Microsoft-IIS/7.5 WWW-Authenticate: Negotiate oX8wfaADCgEBonYEdGByBgk...etc WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 20 Apr 2016 05:42:58 GMT Content-Length: 1293 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ...html <title>401 - Unauthorized: Access is denied due to invalid credentials.</title> ...html <div id="header"><h1>Server Error</h1></div> ...html <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3> ...html 

我知道有问题的用户可以访问请求中的url,所以我可以手动调用/Application/login/login.dll。

 GET /Application/login/login.dll HTTP/1.1 Authorization: Negotiate YIILwgYGKwYBBQUCoIILtjCCC7KgM...etc Host: MachineName 

它试图通过用户名? 这可能会失败,这就是为什么我没有看到用户通过?

再次感谢

编辑:

我在Wireshark中看到KRB5KRB_AP_ERR_MODIFIED,之前没有,还列出了运行AppPool的ServiceAccount。

所以我想这可能与此有关 – Windows身份validationKRB5KRB_AP_ERR_MODIFIED

Ayyy,修好了:)

只需在Application / login / site中的Windows身份validation的身份validation设置中选中启用内核模式身份validation即可。

我注意到它说,如果使用自定义身份的应用程序池保持启用。