如何在 IIS 6.2 中从 Windows 身份验证中排除某些 FastCGI URL

如何在 IIS 6.2 中从 Windows 身份验证中排除某些 FastCGI URL

我在 IIS 6.2 中有一个站点,它使用 Windows 身份验证来控制访问。

有一个 URL 我不想进行身份验证 – 我希望用户能够匿名访问它。

站点中的所有 URL 均由 FastCGI 进程动态提供。因此,我无法简单地在 IIS 中选择一个静态文件夹并为该路径启用匿名身份验证。

我曾考虑创建一个具有一个 URL 的新站点,该 URL 将请求代理到原始站点,但我必须弄清楚如何动态注入/伪造身份验证参数。

答案1

我发现我可以向我的站点添加嵌套虚拟目录,并允许对虚拟目录进行匿名身份验证。每个虚拟目录都指向一个空文件夹,以确保安全。这些虚拟目录与我的 FastCGI 处理的 URL 匹配。例如,我要覆盖的 URL 是 foo/bar/works,我添加了 3 个虚拟目录。在works虚拟目录中,我启用了匿名身份验证并禁用了 Windows 身份验证。然后当我访问http://mysite/foo/bar/works/,我无需授权就可以进入,并且请求实际上仍然由我的 FastCGI 应用程序处理。

相关内容