Cita: Entonces, Application_AuthenticateRequest se ejecuta solo en la solicitud de las paginas que están protegidas en el web.config?
el Application_AuthenticateRequest siempre se ejecuta no importa que tipo de autenticación estés usando y se ejecutan en el siguiente orden:
Cita: * Application_BeginRequest
* Application_AuthenticateRequest
* Application_AuthorizeRequest
* Application_ResolveRequestCache
* Application_AcquireRequestState
* Application_PreRequestHandlerExecute
* Application_PreSendRequestHeaders
* Application_PreSendRequestContent
* Application_PostRequestHandlerExecute
* Application_ReleaseRequestState
* Application_UpdateRequestCache
* Application_EndRequest
Cita: Para hacer más comprobaciones, a parte de roles o nombres de usuario?
para ese caso guardas los perfiles del usuario el la BD, teniendo por ejemplo la tabla Usuarios, Roles y UsuarioRoles, y por ejemplo en otra tabla llamada modulos cargas esos perfiles guardando los Id´s para indicar a que tienen derecho de ver y de hacer... claro que todavía hay mas cosas a considerar esa es solo una parte para que te vayas dando una mejor idea..