Cita: el código que agrega al Global.asax no entiendo que funcion realiza, lo agrega a Application_AuthenticationRequest
De hecho siempre todas tus aplicaciones hagas lo que hagas primero pasarán por el global.asax es por eso que tienes el evento Application_AuthenticationRequest, precisamenente para que cada peticion que haya va a pasar por ahi para verificar las credenciales del usuario y cargas los roles correspondientes.., también valdría la pena que leyeras acerca de los eventos del
global.asax para que tengas las cosas mas claras..
Salu2