Frage

Ich habe ein Httpmodule in meiner Anwendung, die die FormsAuthenticationModule das Authentifizieren Ereignis mit dem folgenden Code hakt in:

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

Leider schlägt der Aufruf zu context.Modules weil die App in einer Medium-Trust-Umgebung ausgeführt werden muss. Gibt es eine andere Art und Weise, die ich in diesem Fall kann der Haken?

War es hilfreich?

Lösung

Das ist eine schwierige Frage - Sie nicht einmal die Module Sammlung aus Ihrer globalen Anwendungsdatei zugreifen können

.

Sie könnten versuchen, Ihren eigenen Code aus dem AuthenticateRequest Handler in globalem Aufruf:

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

Sie können nicht Ihre benutzerdefinierten Modul aus der Sammlung packen, entweder, so würden Sie einen statischen Verweis auf das Modul der Bibliothek benötigen.

Anders als die AspNetHostingPermission Gewährung ( wie hier für andere Berechtigungen detailliert < in der Maschinenebene web.config auf Ihre Website / a>), ich bin aus Ideen!

scroll top