Cli*_*rce 5 authentication windows-authentication windows-server-2012 iis-8.5
我在 Windows 2012、IIS 8.5 下安装了一个需要 Windows 身份验证的应用程序。当某些用户使用该应用程序时,他们会在质询/响应后收到 401 错误。其他人可以毫无问题地使用该网站。用户都碰巧在同一个 AD 组中,但这可能是巧合。
这是处理的请求和响应(该网站是我们内部的,http://lcf - 这是 A 记录,而不是 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
Run Code Online (Sandbox Code Playgroud)
由于登录失败等原因,给定的帐户(“test1”)并未从 Active Directory 中锁定。我认为此处的锁定必须来自 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
Run Code Online (Sandbox Code Playgroud)
对于网站:
我也尝试过多种浏览器。事实上,在同一台机器上切换用户会产生不同的结果。(机器 A 上的用户 A 可以,机器 A 上的用户 B 不行。)这些机器在同一个 Intranet 上。
编辑:我添加了一个顶级“test.html”文件以保持简单。我打开了故障记录,这是我的结果。有人能读懂这些符文吗?

编辑
Lockoutstatus.exe 在该域的所有 12 个 DC 上显示“未锁定”。
成功登录:
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
Run Code Online (Sandbox Code Playgroud)我有点在我的谷歌福和绳索的尽头。有什么建议?
小智 4
被锁定的用户都在同一个 AD 组中这一事实可能并非巧合。这些用户可能没有访问应用程序文件夹的 NTFS 权限。为了避免这个问题,我做了以下操作,这应该确保应用程序池身份帐户用于所有文件访问,并且永远不会有任何冒充有趣的事情。
打开 IIS 管理器。在“站点”下选择应用程序。双击“配置编辑器”图标。在“部分”下拉列表中,找到system.webServer/serverRuntime. 将其设置为UseWorkerProcessUser.
使用 appcmd.exe 或 .config 文件可以完成同样的事情。
有点令人惊讶的是,这不是默认行为。显然,当使用 Windows 身份验证和默认设置 ( UseAuthenticatedUser) 时,某些文件访问是使用浏览站点的用户的权限执行的,而某些文件访问是使用应用程序池身份的权限执行的。就我个人而言,我总是只想使用应用程序池身份的权限,因此我必须记住调整上述设置。
| 归档时间: |
|
| 查看次数: |
4390 次 |
| 最近记录: |