在IIS管理器的中心窗格中,有一个名为“身份验证”的图标,如下所示:
点击该图标后,我们会得到以下3个选项:
右键单击“匿名身份验证”并选择“编辑”,我们会看到以下内容:
问题:我应该使用哪一个?它们之间有什么区别?
![enter image description here](https://istack.dev59.com/AUKHg.webp)
![enter image description here](https://istack.dev59.com/hci21.webp)
![enter image description here](https://istack.dev59.com/lkGeC.webp)
您基本上是在选择匿名用户的身份。您可以选择特定的用户,也可以选择应用程序池的身份。选择哪一个取决于您的应用程序。如果您的应用程序需要特定用户的权限或访问权限,则可以选择该用户,否则使用应用程序池用户即可。不知道您的应用程序具体功能,很难给出明确建议。
这个建议通常适用于IIS6,但我认为同样适用于IIS7。
IIS用于处理传入请求的进程由操作系统启动并作为IUSR_MachineName运行。这是一个非常低权限的帐户,基本上什么也做不了。然后你的请求被传递给.Net,在一个应用程序池中作为另一个进程运行(在IIS6上为W3WP)。应用程序池有一个分配的标识,默认为networkservice,这是一个相当有特权的帐户,例如它可以建立网络连接,而其他内置帐户不能。你可以将应用程序池的标识更改为任何帐户,但你选择的帐户将需要某些操作系统特权。
所有这些对你意味着什么?嗯,除非你有一些无法更改的要求,否则使用NetworkService。你需要像特定用户一样读取文件吗?忽略IUSR帐户。它的权限太低,除非你真的想锁定你的服务器,但准备好大量的调试工作来让它正常工作。
Simon
您可以通过选择站点或应用程序,然后从操作窗格中单击“基本设置”来找到此选项。在创建站点时也可用。
这是仅用于连接存储网站的文件的用户。例如,如果您将它们保存在单独的网络共享上并需要提供登录以访问该共享。
匿名用户
这是询问者正在查询的用户。请注意它位于功能窗格的IIS部分。这是IIS将传递给应用程序的用户。如果您使用匿名身份验证,则可能会使用其他机制来处理登录(如果有的话)。
我只尝试过一次更改它,我认为那是一个使用URL重写重定向到图像文件并返回401未经授权的PHP应用程序。