401 - You are nto authorized to view this page - Refresh or f5 will help.

ENVIRONMENT -

MOSS 2007 - Upgraded to Sp1 - 12.0.0.6219

OS - Windows Server 2003 ENT SP2 x64

SQL - SQL server 2005

 PROBLEM DESCRIPTION -

This problem occured after applying Sp1 - When we browse to a SharePoint site for the frist time after IIS RESET and also browse to the links with in this site for the first time- we are prompted for user authentication and when the users gives the credentials the site come up. But the point is that this web application is configured for anaonymous access. So the question is why is the site asking for credentials when it is for anonymous access.

CAUSE -  

In the web.config file <compilation batch="true" debug="true"> was the culprit. By default this tag should be <compilation batch="false" debug="false">.

Ideally in production environments the debug value should be false, if it is "true" then the web.config file will go into debug mode and look for permissions. It specifies whether to compile debug binaries rather than retail binaries.

RESOLUTION -

Change the debug value from "true" to "False".

What is Batch compilation?

In short, when debug=true, we don’t batch compile, when debug=false we do…

When an aspx, asax, or ascx page is first requested it gets compiled into an assembly. This assembly has a name like 3ks0rnwz.dll or similar (8 characters) and stores the class for the actual ascx, asax, or aspx page (not the code behind). The assembly goes into a folder in the C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files with the same name as the application.

Related Link - http://msdn.microsoft.com/en-us/library/s10awwz0.aspx