我有一个在Windows 2012,IIS 8.5下安装需要Windows身份validation的应用程序。 当某些用户使用该应用程序时,他们在挑战/响应之后收到401错误。 其他人可以毫无问题地使用该网站。 用户都在同一个广告组中,但这可能是巧合。
这是处理的请求和响应(网站是我们的内部, http:// lcf – 这是一个Alogging,而不是CNAME):
请求: 
响应: 
在安全日志中,这是典型的显示内容:
An account failed to log on. Subject: Security ID: NULL SID Account Name: - Account Domain: - Logon ID: 0x0 Logon Type: 3 Account For Which Logon Failed: Security ID: NULL SID Account Name: test1 Account Domain: CORP Failure Information: Failure Reason: Account locked out. Status: 0xC0000234 Sub Status: 0x0 Process Information: Caller Process ID: 0x0 Caller Process Name: - Network Information: Workstation Name: 1N14SW1-PC Source Network Address: - Source Port: - Detailed Authentication Information: Logon Process: NtLmSsp Authentication Package: NTLM Transited Services: - Package Name (NTLM only): - Key Length: 0
给定的帐户(“test1”)没有被locking在Active Directorylogin失败等。我认为locking这里必须从IIS。
在IIS日志中,这是一个相关的条目:
2015-04-06 13:41:27 10.0.150.6 GET /Loss - 80 CORP\test1 10.0.20.28 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/6.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Center+PC+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+EIE10;ENUSWOL) - 401 0 0 15
对于该网站:
我也尝试了多个浏览器。 事实上,在同一台机器上切换用户会产生不同的结果。 (机器A上的用户A很好,机器A上的用户B不是)。机器位于同一个内部网上。
编辑:我添加了一个顶级“test.html”文件,以保持简单。 我打开了失败日志logging,这是我的结果。 任何人都可以阅读这些符文吗?




编辑
Lockoutstatus.exe在该域的所有12个DC上显示“未locking”。
成功login:
An account was successfully logged on. Subject: Security ID: NULL SID Account Name: - Account Domain: - Logon ID: 0x0 Logon Type: 3 Impersonation Level: Impersonation New Logon: Security ID: CORP\xxxx1 Account Name: xxxx1 Account Domain: CORP Logon ID: 0x12E1355 Logon GUID: {00000000-0000-0000-0000-000000000000} Process Information: Process ID: 0x0 Process Name: - Network Information: Workstation Name: 1N14SW1-PC Source Network Address: - Source Port: - Detailed Authentication Information: Logon Process: NtLmSsp Authentication Package: NTLM Transited Services: - Package Name (NTLM only): NTLM V2 Key Length: 0
我在Google-fu和绳索的末尾。 有什么build议么?
被封锁的用户都在同一个广告组中的事实可能不是巧合。 这些用户可能没有NTFS权限来访问应用程序文件夹。 为了避免这个问题,我做了以下工作,确保应用程序池标识帐户用于所有文件访问,并且从来没有任何模仿有趣的业务。
打开IISpipe理器。 在网站下select应用程序。 双击“configuration编辑器”图标。 在“Section”下拉菜单中,findsystem.webServer/serverRuntime 。 将其设置为UseWorkerProcessUser 。
同样的事情可以使用appcmd.exe或.config文件来完成。
有点令人惊讶,这不是默认的行为。 显然,使用Windows身份validation和默认设置( UseAuthenticatedUser )时,使用浏览站点的用户的权限执行某些文件访问,并且使用应用程序池标识的权限执行某些文件访问。 就个人而言,我总是只想使用应用程序池标识的权限,所以我必须记得调整上述设置。