ASP.NET MVC 3 Intranet Template with "This resource cannot be found" and User.Identity.Name is blank Error
	      ASP.NET MVC 3 Tools refresh recently was released and it includes a new Intranet Visual Studio project template.  This template is basically an ASP.NET MVC 3 template with Windows Authentication enabled (the Internet Application template uses forms based authentication).  
  
       
    I was recently playing with this template and it worked fine in development and even using the IIS 7.x Express Web Server.  However, when I deployed to a real Windows Server 2008 R2 application I saw this "The resource cannot be found" error:  
       
  
       
    So what is going on?  Notice (from the screenshot above) that we are being redirected to .../Account/Login.  This is a clue that the login/authentication is failing. The controller for login is throwing the error.    
       
    If you explicitly actually type in /Home/About you will actually get a rendered page below.  Notice in the top right corner all you see is an exclamation point.  The @User.Identity.Name code in the _Layout.cshtml is blank/NULL and causing the error (shown below that is why you only see "Welcome !").   
       
  
       
    Why is Windows Authentication not working?  It looks to me that this is a bug in the ASP.NET MVC 3 Intranet template....I stumbled upon this by chance, by going through the "known issues" section in the 
ASP.NET MVC 3 release notes.  It mentions that we should add this line (<add key="enableSimpleMembership" value="false" />) to the web.config if we are upgrading from an ASP.NET MVC 2 application.  
This has NOTHING to do BTW with Windows Authentication and I tried adding that key in web.config by chance and it properly authenticated me.          
    After adding the key (and restarting the application pool), ASP.NET MVC 3 properly is able to grab the identity of the user via Windows Authentication.  Basically the appsettings section of the web.config should look like this now:  
      <appSettings>  
        <add key="webpages:Version" value="1.0.0.0" />  
        <add key="ClientValidationEnabled" value="true" />  
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />  
        <add key="enableSimpleMembership" value="false" />  
      </appSettings>   
       
    If you receive a "This Resource Cannot be Found" error or the User.Identity.Name is blank or IsAuthenticated is false for an ASP.NET MVC application ensure:  
               - Windows Authentication is turned on in web.config (IIS 6 and 7)
       - You are using the Integrated pipeline mode in the application pool (IIS 6 and 7)
       - All the wildcard mappings and ISAPI settings are properly set up (IIS 6)
       - Add the key: <add key="enableSimpleMembership" value="false" /> to the appSettings section
       - If you have Kerebos/NTLM etc authentication, make sure it is configured correctly in IIS
   
    I hope this article helped anyone who is going through this annoying issue, as I spent several hours trying to figure it out myself.  It seems like Microsoft needs to update their ASP.NET MVC 3 Intranet template to include this line for production scenarios.