I just integrated a single sign-on provider into my application, which is now sending a query string parameter when it redirects back to the requested page, which causes the page to not load. The way it is set up is:
- I have a controller at localhost/AppName/Controller, whose Index method requires [Authorize]
- Forms authentication redirects to the SSO
- SSO redirects to localhost/AppName/Controller/?ticket=stringvalue
- Page doesn't load (browser has a "cannot display the web page" message); removing the ?ticket business makes the page load.
My Index method looks like this:
public ActionResult Index(string ticket)
which I thought would accept the query string parameter. I am using the default route configuration, that is:
routes.MapRoute(
// Route name
"Default",
// URL with parameters
"{controller}/{action}/{id}",
// Parameter defaults
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
ticket??ticketbusiness, is theIndexaction still executed?