ImageResizer Pipeline_AuthorizeImage 用于所有图像请求(即使是没有调整大小命令的请求)

ImageResizer Pipeline_AuthorizeImage for all image requests (even ones without resize commands)

某些文件夹中的图像需要对其执行额外的授权。我让它处理使用调整大小命令发出的图像请求(即 /images/image.jpg?width=500),但对主图像本身的请求不会触发授权(即对 /images/image.jpg 的请求) .

是否有配置选项可让 ImageResizer 在 所有 个图像请求上触发 Pipeline_AuthorizeImage 事件?

我的调整器配置

  <resizer>
    <plugins>
      <add name="DiskCache"/>
      <add name="AutoRotate"/>
      <add name="SimpleFilters"/>
    </plugins>
  </resizer>

编辑,根据下面接受的答案,我是这样做的:

全球 ASAX

void Application_Start(object sender, EventArgs e)
{
    Config.Current.Pipeline.Rewrite += Pipeline_Rewrite;
}

void Pipeline_Rewrite(IHttpModule sender, HttpContext context, IUrlEventArgs e)
{
    if(isProtectedFolder(context))
    {
       //default to safe option
       context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
       var allowAccess = false;

       //check stuff......

       if (!allowAccess)
       {
          context.Response.StatusCode = 401;
          context.Response.End();
          return;
       }
    }

}

如果要拦截所有 HTTP 请求,请使用Config.Pipeline.PostAuthorizeRequestStart,如果要拦截所有image[=,请使用Config.Pipeline.Rewrite 16=] 请求。