我在 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 应用程序处理。