![为什么 NTLM 身份验证显示为 NT AUTHORITY\NETWORK SERVICE 而不是机器帐户](https://linux22.com/image/742032/%E4%B8%BA%E4%BB%80%E4%B9%88%20NTLM%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%98%BE%E7%A4%BA%E4%B8%BA%20NT%20AUTHORITY%5CNETWORK%20SERVICE%20%E8%80%8C%E4%B8%8D%E6%98%AF%E6%9C%BA%E5%99%A8%E5%B8%90%E6%88%B7.png)
我有一个 ASP.NET 应用程序,其应用程序池作为网络服务运行,它向在单独服务器上运行的 SSRS 发出请求以检索报告。报告显示用户名(使用 SSRS 的 User!UserID 参数)。我原本希望它显示机器帐户,如 MY_DOMAIN\SOME_SERVER_NAME$,但它却显示 NT AUTHORITY\NETWORK SERVICE。
我阅读了 NTLM 流程的摘要https://docs.microsoft.com/en-us/windows/win32/secauthn/microsoft-ntlm许多博客都引用了它。
- NT AUTHORITY\NETWORK SERVICE 是 NTLM 消息中实际使用的用户名吗?还是使用了真实的域 + 计算机名称,并且只是在接收服务器上进行转换以供显示?(似乎必须在消息中使用真实的机器帐户,以便域控制器可以查找正确的帐户来验证消息。)
- 有没有办法获取实际的机器帐户而不是 NT AUTHORITY\NETWORK SERVICE?我想根据发送请求的服务器采取行动,而“NT AUTHORITY\NETWORK SERVICE”只能告诉我域中的某个服务器发出了请求。