문제

내 응용 프로그램에 httpmodule이 있습니다.

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

불행히도, 컨텍스트로의 호출은 앱이 중간 트러스트 환경에서 실행되어야하기 때문에 실패합니다. 이 행사에 연결할 수있는 또 다른 방법이 있습니까?

도움이 되었습니까?

해결책

그것은 힘든 일입니다. 글로벌 애플리케이션 파일 내에서 모듈 컬렉션에 액세스 할 수 없습니다.

Global의 AuthenticateRequest 핸들러에서 사용자 정의 코드를 호출 할 수 있습니다.

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

컬렉션에서 사용자 정의 모듈을 잡을 수 없으므로 모듈 라이브러리에 대한 정적 참조가 필요합니다.

aspnethostingpermission을 부여하는 것 외에 (다른 권한에 대해 자세히 설명 하듯이) Machine Level Web.config의 귀하의 사이트에 아이디어가 없습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top