Domanda

Ho un HttpModule nella mia applicazione che si aggancia all'evento Authenticate di FormsAuthenticationModule con il seguente codice:

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

Sfortunatamente, la chiamata a context.Modules fallisce perché l'app deve essere eseguita in un ambiente di media fiducia. C'è un altro modo in cui posso collegarmi a questo evento?

È stato utile?

Soluzione

È difficile: non è nemmeno possibile accedere alla raccolta Moduli dal file dell'applicazione globale.

Potresti provare a chiamare il tuo codice personalizzato dal gestore AuthenticateRequest in Global:

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

Non puoi neanche prendere il tuo modulo personalizzato dalla collezione, quindi avresti bisogno di un riferimento statico alla libreria del tuo modulo.

Oltre a garantire AspNetHostingPermission ( come dettagliato per altre autorizzazioni qui ) al tuo sito nel web.config a livello di macchina, non ho più idee!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top