¿Cómo puedo conectarme al módulo FormsAuthenticationModule actual en un entorno de confianza media?
-
08-07-2019 - |
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?
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!