使用web.config中的system.web.authorization设置来保护经典的asp文件?

时间:2009-05-12 00:29:31

标签: asp.net iis asp-classic web-config

我有一个具有庞大子文件夹层次结构和数千个经典ASP文件的虚拟目录,所有这些文件都在NT文件夹级别设置了不同的权限(不要问.. 摇头 )。

有没有办法用自己的web.config设置所有这些虚拟目录,这样我就可以通过在其中配置system.web.authorization参数来控制访问权限并取消文件夹级权限?

我已经尝试过,到目前为止只能在asp.net文件上运行,而不是经典的ASP。

如果不可能,有人可以提供一些替代方案吗?

2 个答案:

答案 0 :(得分:3)

因为clasic ASP不知道ASP.NET运行时,因为它是a)classic而2)不是.NET,所以你不能使用.NET配置来管理权限。

你的选择是:

  1. 升级到IIS7
  2. 将所有asp页面重命名为aspx
  3. 将您的asp处理程序更改为aspnet_isapi.dll(这是.net处理程序)
  4. 虽然2和3可能有效,但您需要对这些页面进行完整测试,以确保它们仍按预期工作。

    我想说最好的办法是只使用文件系统ACL来控制谁可以访问这些文件夹。仅仅因为你不了解它们并不意味着它们没有它们的位置。

答案 1 :(得分:2)

您可以使用通配符映射,以便IIS6中的ASP.NET运行时将处理所有文件类型;但是,即使启用此权限也不会通过web.config处理。 classic和.NET中的Windows身份验证使用文件权限来确定访问权限。