IIS模块inheritance

我正在尝试设置一个既有公共端又有私有端的IIS站点。 公共端使用匿名身份validation,而私有端使用我提供的自定义身份validation模块,下面是结构的概述(应用程序池名称在[] ):

 +SITE ROOT [default_app_pool] |-public [default_app_pool] (folder converted to application) | -- folderA | -- folderB | -- folderC | -- publicApp [publicApp] |-private [default_app_pool] (folder converted to application) | -- bin | >> custom_auth_module.dll | -- app1 [app1] | -- app2 [app2] | -- app3 [app3] 

在这个场景中, private文件夹有一个web.config ,它提供了自定义validation模块(以及一些其他的成员资格提供者设置)

结构和应用程序池是微不足道的安装,但我有一些麻烦,使身份validation工作。 理想情况下,app1 … app3应该inheritance父目录(private)的身份validation。 但是,如果应用程序的path(在基本设置下)是/private/{appN} ,这似乎只能工作。 这不是理想的各种原因:

  1. 每个人都知道的URL必须改变(包括/private/
  2. 这暴露了一些潜在的文件夹结构,这是不理想的(例如,为什么用户需要知道私人目录甚至存在…)

如果我将应用程序的path设置为(/) – 那么自定义validation模块不会被inheritance。 如果我尝试在指向/ appN(从而保留原始URL)的根级别创build虚拟文件夹 – 应用程序加载不正确(看起来它使用的是错误的应用程序池 – 不是100%确定。 )

总之,有没有一种方法可以让IIS根据磁盘上的文件夹结构进行inheritance(而不是必须在Webpath中构build什么?)或者,是否有办法为IIS应用程序提供“别名” (例如,它位于/private/appN ,但是它也将在/appN处侦听命中)。

感谢您的帮助,所有的提示都表示赞赏。