Solicitar autenticación en todo un sitio ASP.NET MVC

Por temas de seguridad es importante que todo un sitio solo pueda ser accedido por un usuario autenticado y solo aquellas funcionalidades que no lo necesiten se les otorgue el anonimato.

para que un controlador o un método en un controlador simplemente debemos colocar el atributo:

 [Authorize]

para que solo un usuario autenticado pueda acceder a el.

Si queremos aplicar esto para todo el sitio simplemente en el archivo FilterConfig debemos agregar el atributo

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
 { 
 filters.Add(new AuthorizeAttribute());
 }

 

Después de hacer esto si queremos que ciertos métodos o controlados no necesiten autenticación por parte del usuario, usamos el siguiente atributo:

 [AllowAnonymous]