ASP.NET MVC

Jul 2, 2012 at 7:46 AM

Does anybody know how to get this working in a MVC 3 environment?

How to configure the MVC handler in a way that the SIGNINAS handler is called?

Jul 2, 2012 at 11:55 AM

I managed it to find a solution.

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.signinas/{*pathInfo}");
           
        }

This is working fine.

Jul 2, 2012 at 11:57 AM

Another problem is, that when using IE9 with a IIS 7.5, the logged in user is switching back and forth after reloading the page. Possibly a cache problem.

Any ideas out there?

Coordinator
Jul 11, 2012 at 6:58 AM

Hi,

i didn't manage to find the time to do a repro for this problem. As mentioned in my email i think this might indeed be a caching problem. If you trace the application with a tool like fiddler can you verify that the wrong username is not delivered from a cached (HTTP 304) page? If you check the whoami.signinas page is this always telling the right thing? We had a similar problem in the lync installation, but it was a caching issue only if we switched the user to often for testing purpose. Using it in real life situation (for us) the user opens the page and switched once and then closes the browser after work is done.

Please remember the authentication is working per URI (=URL). If you switch the authentication for http://mydemoapp:5674 it will only be switched at this url and any url below. It would not affect http://mydemoapp.company.local. But i assume this would already be a problem for you because of the rules that apply to scripting (cross site scripting and same origin policy).

Also keep in mind that the authentication is bound to the current process. If you try to launch a excel sheet accessing data from your app this will run in the local user context. This is a common problem in SharePoint, if user switched the identity and then tries to work with office documents from a library.

Maybe http://www.fiddler2.com/fiddler2/ will help to trak your problem down. Try checking the http headers responsible for caching.

Ciao Marco