2010-12-18 3 views
1

우리는 실제 aspx 페이지로의 내부 리디렉션을 수행하는 모듈이 하나 있습니다. 그는 또한 클라이언트에게 캐시/압축 HTML/txt/cs/js 출력을 직접 제공하는 역할을 담당합니다. 여기 asp.net의 기본 인증은 회피합니다. runAllManagedModulesForAllRequests = "True"

은 Web.config의 모듈 섹션처럼 보이는 방법입니다

<modules runAllManagedModulesForAllRequests="True">  
    <remove name="RequestInterceptor" /> 
    <add type="Lib.Request.RequestInterceptor" name="RequestInterceptor" /> 
    <remove name="Session" /> 
    <add type="System.Web.SessionState.SessionStateModule" name="Session" /> 
</modules> 

기본 인증 IIS7에 설정되어 있습니다. 첫 번째 방문자가 사이트 로그인 팝업창을 표시하고 올바르게 인증되면 방문자가 방문한 페이지가 캐싱됩니다. 다음 방문객이 올 때 인증 팝업은 이전 방문자가 방문하지 않은 페이지 (캐시되지 않은 페이지)를 방문하지 않는 한 나타나지 않습니다. 캐시가 만료되면 페이지 내용이 캐시 될 때까지 인증이 다시 작동합니다.

모든 방문자에 대해 인증을 수행 할 수있는 방법이 있습니까? 어쩌면 우리는 기본 인증 모듈을 web.config의 모듈 섹션에 추가해야 할 것입니다 (그렇게하는 방법)?

미리 감사드립니다. 건배

답변

1

httpmodule이 각 요청을 가로 채기 때문에 서버는 정적 파일, 동적 파일 및 기타 secuirty 인증에 적절한 처리기를 매핑 할 수 없습니다.

2

것은 내가이 게시물을 가로 질러 온 관련 질문에 대한 답변을 검색하는 동안 :

Don't use runAllManagedModulesForAllRequests="true" when getting your MVC routing to work

당신의 의 Web.config의 당신의 모듈 섹션 말할 수 있도록하는 것이 일반적인 조언 것 같다. 사실 라우팅 문제를 해결하기 위해해야 ​​할 일은 상당히 과감한 것이며 이며 원인 오류가 될 수있는 전역 효과가 있습니다. ...이 높게 권장 수정으로 인해 다른 문제가 발생할 수 있습니다. 이러한 문제는 양식 (모든 요청에 ​​대해 등록 된 모든 HTTP 모듈을 실행하는 형태)에서 발생합니다. 관리 요청 (예 : .aspx)이 아닙니다. 이 모듈은 에서 실행됩니다 의미 적 .JPG .gif 중요 .CSS .html 중에서 .PDF 등

그리고, 내 WCF REST 서비스에서 MVC를 사용하지 않는 동안, 내 (다른) 문제를 해결 않았고 부적절하거나 과도한 사용에 대한 조언 (runAllManagedModulesForAllRequests)이 필요할 수 있습니다.

+0

(직접 답변을 작성하지 않았으므로이 투표에 투표 할 필요가 없습니다. OP의 자체 제공 답변에 일부 지원/컨텍스트를 추가하기 만합니다.) – JMD

+0

+1은 투표하지 말 것을 요청합니다. –

관련 문제