尽管授予了网站文件夹 IIS 7.5 上的应用程序池身份权限,但仍出现 http 401.3 错误

尽管授予了网站文件夹 IIS 7.5 上的应用程序池身份权限,但仍出现 http 401.3 错误

当我的应用程序用户尝试浏览我的应用程序时,他们收到 http 401 错误。

我的应用程序是一个使用 Windows 身份验证的内联网 Web 应用程序。匿名身份验证和身份模拟已禁用。创建了一个单独的应用程序池并将其分配给网站。IIS ApplicationPool\myApplnAppPool 被授予对应用程序根文件夹的读取和执行权限。

我验证了工作进程(w3wp.exe),它在服务器任务管理器中的应用程序池标识下运行。

当我授予每个人(每个人域组)对我的网站文件夹的访问权限时,他们能够访问该应用程序。但是,我认为在文件夹级别授予每个人组访问权限的做法不正确。

此外,我的应用程序创建并更新应用程序日志文件(在应用程序根文件夹下)。

任何帮助都将不胜感激。谢谢。

答案1

这取决于您使用该应用程序的目的以及其身份验证的工作方式。如果应用程序需要用户的凭据才能执行任何操作,那么让所有人(即您域中的所有人,不包括来宾)都拥有访问权限可能并不是一个坏主意。

如果您确实想限制特定人员的访问权限,最佳做法是创建一个组并授予他们所需的访问权限(可能是读取/执行)。例如,您还可以确保该组被拒绝访问配置文件,并为该应用程序创建一个具有更多访问权限的“支持”组。

最后,无论使用什么凭证(匿名身份验证实际上只是模仿您为此目的提供的某个特定帐户)都需要具有读取、可能执行和遍历文件系统的权限才能访问网站。

从您上面的评论来看,如果您确实需要知道哪些特定域用户正在访问它,则一定要保持匿名身份验证禁用,但如果您不需要限制对域用户子集的访问,则授予每个人对该域的访问权限没有任何坏处。

答案2

通过启用 Windows 身份验证并禁用匿名,您基本上是在说“为了访问我的网站,您必须拥有访问权限,否则您将无法进入”。即使应用程序池拥有访问权限,您也会在网站级别阻止它。这就是为什么当您授予每个人访问权限时它会起作用的原因。听起来您想要一个匿名网站,并让应用程序自行确定某人拥有哪些权限。

相关内容