Im MVC 5 응용 프로그램에서 Imageresizer 4을 사용하고 있습니다.Owin의 Imageresizer 인증
이protected void Application_Start() { ImageResizer.Configuration.Config.Current.Pipeline.AuthorizeAllImages = true; ImageResizer.Configuration.Config.Current.Pipeline.AuthorizeImage += AuthorizeImage; }
AuthorizeImage 방법은 다음과 같습니다 :
private static void AuthorizeImage(IHttpModule sender, HttpContext context, IUrlAuthorizationEventArgs e) { //This line throws an exception if runAllManagedModulesForAllRequests is set to false var owinContext = context.GetOwinContext(); Authorize(context, owinContext); }
문제는 우리가 Owin을 사용하고 있는지 우리가 다음과 같은 이벤트를 사용하는, 그래서 우리는 이미지 요청을 인증 할 필요가있다 그래서 우리는 HttpContext로부터 OwinContext가 필요합니다. GetOwinContext
방법을 호출 할 때 우리는 다음과 같은 오류가 발생합니다 : 내가 Web.config의에서 true로 runAllManagedModulesForAllRequests
을 설정하면
없음 owin.Environment 항목은 컨텍스트
에서 발견 된 모든 그것이해야처럼 작동합니다.
그러나 성능에 영향을 미치기 때문에 runAllManagedModulesForAllRequests를 사용하고 싶지 않습니다.
내 질문은 : 어떻게 든 Owin middleware가 특정 HttpModule 전에 실행되도록 강제 할 수 있습니까? 이 (사이비 코드) 같은
뭔가 :
<modules runAllManagedModulesForAllRequests="false"> <add name="ImageResizingModule" type="ImageResizer.InterceptModule" modulesToRunBefore="Owin........" /> </modules>