在 .NET 应用程序上通过 Windows 身份验证 - 网站文件夹是否需要读取访问权限?

在 .NET 应用程序上通过 Windows 身份验证 - 网站文件夹是否需要读取访问权限?

我正在尝试让直通式 Windows 身份验证适用于 .NET 应用程序。

它在 IIS7 上以经典模式运行,在验证我有 IIS 中的设置Windows 身份验证已启用,其他所有功能均已禁用(包括匿名身份验证)。

首先,在 web.config 中我只需:

<authentication mode="Windows" />
<authorization>
    <allow users="*" />
</authorization>

据我了解,这意味着网站进程应以应用程序池的身份运行。用户使用其 Windows 身份登录。

但我发现,只有对网站文件夹具有读取权限的用户才被允许访问该网站。这是为什么呢?我认为,由于该过程使用的是应用程序池的身份,因此用户拥有什么凭据并不重要。

我是否做错了什么或者误解了什么?

答案1

应用程序池中运行的任何代码都将使用该身份而不是经过身份验证的用户的身份运行,但 IIS 服务器将使用通过的身份验证来验证用户是否确实有权访问目录提供的文件并设置该用户创建的新文件的所有权。

但是,任何通过 .net 代码进行的后端数据库访问都会在应用程序池下进行。

相关内容