Pregunta

Tengo un HttpModule en mi aplicación que se conecta al evento Authenticate de FormsAuthenticationModule con el siguiente código:

public void Init(HttpApplication context)
{
    FormsAuthenticationModule faModule =
        (FormsAuthenticationModule)context.Modules["FormsAuthentication"];
    faModule.Authenticate +=
        new FormsAuthenticationEventHandler(faModule_Authenticate);
}

Desafortunadamente, la llamada al contexto. Los módulos fallan porque la aplicación necesita ejecutarse en un entorno de confianza media. ¿Hay alguna otra manera de conectarme a este evento?

¿Fue útil?

Solución

Esa es una pregunta difícil: ni siquiera puede acceder a la colección de Módulos desde su archivo de aplicación Global.

Puede intentar llamar a su código personalizado desde el controlador AuthenticateRequest en Global:

protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
    // Call your module's code here..
}

Tampoco puede tomar su módulo personalizado de la colección, por lo que necesitaría una referencia estática a la biblioteca de su módulo.

Aparte de otorgar la AspNetHostingPermission ( como se detalla para otros permisos aquí ) a su sitio en el nivel de máquina web.config, ¡se me acabaron las ideas!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top