验证请求事件处理程序 - 自定义验证IIS

时间:2013-10-30 10:05:01

标签: https basic-authentication http-authentication

我正在使用WCF Web服务,我需要通过HTTPS使用基本身份验证,并且应该针对LDAP进行安全性和身份验证验证。

public class BasicAuthenticationModule: IHttpModule 
{ 
public void Init(HttpApplication context) 
{ 
    context.AuthenticateRequest 
       += new EventHandler(context_AuthenticateRequest); 
} 
  void context_AuthenticateRequest(object sender, EventArgs e) 
  {
  } 
}

我使用Code from this link来构建上面提到的part.hooked AUTHENTICATE_REQUEST事件来处理我的服务所需的身份验证。

我遇到以下问题: 当我在浏览器中打开服务时,在我输入凭据之前它会进入Authenticate请求事件处理程序,并且由于Authorization标头不可用,它会要求提供凭据。 但是在我输入凭据之后它没有进入AUTHENTICATE REQUEST事件处理程序,但是这次授权标题可用但无法对其进行身份验证,因此我无法访问WCF服务并且它抛出我没有被授权。

请让我知道如何为每个请求调用Authenticate请求?

我对这个问题很无奈。

1 个答案:

答案 0 :(得分:0)

您需要确保IIS中的所有其他身份验证模块都已禁用;除了匿名身份验证模块之外。后者似乎在某些情况下是必需的,而在其他情况下则不需要。我无法确定导致这种差异的原因。如果禁用所有身份验证模块(例外),并且您看到服务器返回401.2状态,则需要启用匿名身份验证。