2009-06-12 3 views
2

웹 사이트 폴더에 stati 파일이 있지만 모든 파일에 대한 사용 권한을 확인해야합니다. 그 목적으로 HttpModule을 사용하기로 결정했습니다.ASP.NET의 HttpModule을 통해 정적 파일 처리

ASP.NET은 모든 HTTP-요청이 algorith는 다음과

(I 와일드 카드 매핑을 사용) 수신 :

  1. HttpModule의 요청을
  2. HttpModule의 검사 권한을 수신
  3. 하는 경우 액세스가 거부되면 대답은 "금지됨"입니다. 모두 괜찮 으면 httpModule의 메소드가 반환됩니다.
  4. DefaultHttpHandler가 자동으로 정적 파일

문제는 DefaultHttpHandler가 (이 등을 파일 캐시를 사용하지 않습니다)만큼 효과적이지 점이다에 대한 요청을 처리하는 데 사용됩니다. 그러나 ASP.NET이없는 IIS는 아주 좋은 방법으로 정적 파일과 함께 작동합니다.

내가 원하는 것은 IIS가 내 확인 후 정적 파일을 제공하도록하려는 것입니다. 구현 방법이 있습니까?

답변

2

그렇다면 IIS7을 사용하고 있다면 매우 쉽습니다. 통합 모드에서는 모든 요청이 관리 파이프 라인을 통과합니다. IIS가 파일을 제공하지만 HttpHandler를 추가하여 검사를 수행하십시오. 또는 ASP.NET에서 제공하는 권한 부여 방법 중 하나를 사용할 수 있습니다.

+0

IIS6을 사용하는 경우 권한 확인 및 파일 스트리밍과 관련이없는 솔루션을보고 싶습니다. – ScottE

+0

나는 다시 새로운 프로젝트에서 IIS6을 다룰 필요가 없길 희망한다.) – chris166

+0

불행히도 IIS6을 사용한다. – murad

1

IIS 6에서 파일을 스트리밍하는 데 사용할 수있는 솔루션이 있습니다. 다시 시작 가능한 다운로드, 클라이언트 쪽 캐싱 (etag & 만료) 및 서버 쪽 캐싱과 같은 모든 좋은 작업을 수행합니다.

http://code.google.com/p/talifun-web/wiki/StaticFileHandler

파일을 제공하기 전에 승인을 포함하도록 확장 할 정도로 쉬워야한다.