views:

738

answers:

0

I am using Netegrity's SiteMinder single sign on for a subset part of my development machine. Something like https://testdev.com/sm/testapp where /sm is my SiteMinder configured location.

However, when I run ASP.NET MVC apps in a virtual directory under the /sm folder I get some unexpected results from Url.RouteUrl or Html.BeginRouteForm or any Url or Html helper method generating urls.

First, if I run the default.aspx page, I receive urls with double names parts as in /sm/testapp/testapp/home/index where I would expect to see /sm/testapp/home/index. I have corrected this issue by doing a Response.Redirect("~/home/index") in the default.aspx.cs and removing the supplied implementation.

I believe these are symptoms of how SiteMinder is set up in IIS 6. If I take a look at the MetaBase.xml I find the following for the /sm directory:

<IIsConfigObject    Location ="/LM/W3SVC/1/ROOT/sm"
>

and my test application configuration as follows:

<IIsWebDirectory    Location ="/LM/W3SVC/1/ROOT/sm/testapp"
 AccessSSLFlags="AccessSSL | AccessSSL128"
 AppFriendlyName="testapp"
 AppIsolated="2"
 AppRoot="/LM/W3SVC/1/Root/sm/testapp"
 DefaultDoc="Default.aspx,Default.htm,Default.asp,index.cfm,index.htm,index.html,iisstart.htm"
 ScriptMaps="* Lot of script maps related to 3.5 .Net"
>
<Custom
 Name="UNCPassword"
 ID="3003"
 Value="Large Number"
 Type="STRING"
 UserType="IIS_MD_UT_FILE"
 Attributes="INHERIT | SECURE"
/>

Is there something in how ASP.Net handles IIsConfigObject configuration items vs. regular virtual directories? Of course, if I set up a virtual directory and a nested virtual directory, the URL paths are what I would expect. Something in how the /sm directory is defined in IIS 6 is causing the paths and other URL generating routines to foul up.

Any help on the IIsConfigObject would be great.