Pergunta

Eu tenho um HttpModule no meu aplicativo que ganchos para evento Authenticate do FormsAuthenticationModule com o seguinte código:

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

Infelizmente, a chamada para context.Modules falha porque o aplicativo precisa ser executado em um ambiente de confiança média. Existe outra maneira que eu posso ligar para este evento?

Foi útil?

Solução

Essa é uma pergunta difícil -. Você não pode sequer acessar a coleção de módulos de dentro do seu arquivo de aplicação global

Você poderia tentar chamar o seu código personalizado a partir do manipulador AuthenticateRequest da Global:

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

Você não pode pegar o seu módulo personalizado da coleção, ou, então, você precisa de uma referência estática a biblioteca do módulo.

Além de conceder a AspNetHostingPermission ( conforme detalhado para outras permissões aqui ) para o seu site no web.config nível da máquina, eu estou fora de ideias!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top