2011-04-08 3 views
0

IHttpHandler을 사용하여 다운로드를 처리하고 있습니다. 파일을 스트리밍합니다. 그러나이 처리기는 토큰을 세션에 저장된 토큰과 비교해야합니다. 따라서 IRequiresSessionState을 사용합니다.IHttpHandler를 사용하여 다운로드하는 동안 탐색이 차단되는 것을 방지하려면 어떻게해야합니까?

문제가 발생했습니다 : IRequiresSessionState이 있으면 다운로드가 실행되는 동안 사용자가 웹 사이트 탐색을 계속할 수 없습니다.

내 문제를 해결할 수있는 처리기를 사용하는 것보다 다른 접근법이있을 수 있습니까? (여전히 IIS6과 호환되어야하지만 IIS7 용 솔루션 만 있으면 여전히 괜찮습니다)?

세션 검사를 변경할 수 없습니다. 세션에 액세스해야합니다.

.NET과 IIS에는 많은 것들이 있지만 아직 발견하지 못했지만 어쩌면 사용할 수있는 기능이있을 수 있습니다.

답변

0

URL에 토큰이있는 다른 처리기로 요청을 리디렉션 할 수 없으므로 세션에 더 이상 액세스 할 필요가 없습니까?

+0

좋은 생각이지만 다른 사용자가 내게 방향을 전환 했음에도 불구하고 일부 사용자가 보안 시스템을 위장하려고 시도하지 않았다는 것을 어떻게 확신 할 수 있습니까? – Krumelur

+0

네, 좋은 지적입니다. 그러나 GUID를 데이터베이스 개체의 식별자로 사용하는 경우 문제가되지 않습니다. 사용자가 GUID를 추측하도록 허용 할 수 있습니다. 즉, 수는 없습니다. 그러나이 토큰이 정수 값인 경우 내 솔루션은 호기심 많은 사용자는 URL에서 다른 값을 사용하려고 할 수 있습니다. –

관련 문제