Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to setup an IIS site that has both a public side and a private side. The public side uses anonymous authentication, while the private side uses a custom authentication module that I provide, here's an overview of the structure (application pool names are in []):

+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]

In this scenerio, the folder private has a web.config which provides the custom auth module (as well as some other membership provider settings)

The structure and application pools are trivial to setup, but I'm having some trouble getting the authentication working. Ideally, app1...app3 should just inherit the authentication from the parent directory (private). However, this only seems to work if the application's path (under basic settings) is /private/{appN}. This isn't ideal for a variety of reasons:

  1. The URLs that everyone currently knows have to change (to include /private/)
  2. This exposes some of the underlying folder structure, which isn't ideal (e.g., why does the user need to know that the private dir even exists...)

If I set the application's path to (/) -- then the custom auth module doesn't get inherited. If I try to create a virtual folder at the root level that points to /appN (thus preserving the original URL) -- the application doesn't load properly (it looks like it's using the wrong application pool -- not 100% sure.)

So, in summary, is there a way to get IIS to do inheritance based on the folder structure of what's on disk (not necesarily what's structured in the web path?) Alternatively, is there a way to give an IIS application an "alias" (e.g., it is at /private/appN, but it will also listen for hits at /appN).

Thanks for the help, all tips are appreciated.

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.