我正在尝试访问托管在 IIS 中的老式 asmx Web 服务,但我正对 401.3 错误感到震惊。我知道那里有很多资源,但其中大多数都利用模拟并将授权用户的权限添加到文件系统中,我想避免这种情况。
我的场景基本上是一个 IIS web 服务,运行一个 AppPool,它作为一个特定的服务帐户(域\用户名 + 密码)运行。此服务帐户对文件夹具有完全控制权,并且Anonymous
身份验证设置为使用 AppPool 标识。
这一切都很好并且有效,但现在我想通过添加 Windows 身份验证来保护我的网络服务。我这样做了,并<deny users="?" />
在授权部分添加了一个简单的内容。现在发生的情况是,当我连接到服务器时,我被要求输入用户名和密码,我提供了一个,然后我收到了 401.3 错误。
我曾尝试为自己添加读取和执行权限到文件夹,一切正常,但这显然不是一个正确的解决方案,因为我必须继续管理文件夹权限。
我的问题是:为什么经过身份验证的用户需要访问文件夹?文件夹不是作为应用程序池标识访问的吗?模拟被禁用,所以我希望这是正确的行为。
为什么经过身份验证的用户需要访问文件夹?
FileAuthorization 模块要求经过身份验证的用户对文件具有权限。
不是作为应用程序池标识访问的文件夹吗
是的,但上述模块还会检查经过身份验证的用户。您提到您已将匿名设置为使用 AppPoolIdentity,所以我希望在您的情况下,这是真的。
模拟被禁用,所以我希望这是正确的行为。
这是独立的,因为 FileAuthorization 模块无论如何都会启动。
根据有关如何排除故障的建议,可以获取 ProcMon 跟踪,我怀疑您会看到一些 AccessDenied。去看看什么进程需要什么权限,看看它是否在进行模拟(对于这个检查)。这将告诉您缺少/失败的权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句