[英]httphandler intercept not working in IIS 7.0
I have an application done in .netframework 2.0 and trying to use an authentication handler in a security project, which is written in 3.5 framework. 我在.netframework 2.0中完成了一个应用程序,并尝试在以3.5框架编写的安全项目中使用身份验证处理程序。 Also I m using IIS 7
我也在使用IIS 7
Web.config of the application has the following entry 应用程序的Web.config具有以下条目
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers accessPolicy="Read, Write, Script, Execute">
<add name="Pdfhandler" verb="*" path="/calderdale/*.pdf" type="NES.HiLo.Security.CalderDaleAuthenticationHandler, NES.HiLo.Security" preCondition="integratedMode" />
</handlers>
</system.webServer>
The code for CalderDaleAuthenticationHandler is CalderDaleAuthenticationHandler的代码是
using System;
using System.Web;
namespace NES.HiLo.Security
{
public class CalderDaleAuthenticationHandler : IHttpHandler
{
/// <summary>
/// You will need to configure this handler in the web.config file of your
/// web and register it with IIS before being able to use it. For more information
/// see the following link: http://go.microsoft.com/?linkid=8101007
/// </summary>
#region IHttpHandler Members
public bool IsReusable
{
// Return false in case your Managed Handler cannot be reused for another request.
// Usually this would be false in case you have some state information preserved per request.
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
//var application = (HttpApplication)sender;
//var context = application.Context;
HttpRequest request = context.Request;
HttpResponse response = context.Response;
// Check if the user is authenticated
}
#endregion
}
} }
In my application I have a folder name calderdale and I have some pdf files. 在我的应用程序中,我有一个名为calderdale的文件夹,并且有一些pdf文件。 when I type in some thing like below to access the pdf file.
当我键入如下内容以访问pdf文件时。 I am expecting the control to go to handler, where I have set breakpoints.
我期望控件进入设置断点的处理程序。 The control never goes to the handler.
控件永远不会传递给处理程序。 I appreciate any help.
感谢您的帮助。
http://local.knowledge.scot.nsh.uk/calderdale/abc.pdf http://local.knowledge.scot.nsh.uk/calderdale/abc.pdf
I used httphandlers to intercept the request. 我使用httphandlers拦截请求。 Then added a handler like this in web.config
然后在web.config中添加这样的处理程序
<httpHandlers>
<add verb="GET" path="calderdale/*.pdf"
type="NES.HiLo.Security.CalderDaleAuthenticationHandler, NES.HiLo.Security" />
</httpHandlers>
After the above on IIS 7.0 I added the following handler from IIS Handlers section 在IIS 7.0上执行上述操作之后,我从IIS处理程序部分添加了以下处理程序
<system.webServer>
<handlers>
<add name="Calderdale Handler" path="calderdale/*.pdf"
verb="GET" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
resourceType="Unspecified" requireAccess="Script"
preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
</system.webServer>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.