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

Https 身份验证请求事件处理程序-自定义身份验证IIS,https,basic-authentication,http-authentication,Https,Basic Authentication,Http Authentication,我正在处理一个WCF Web服务,我需要使用HTTPS上的基本身份验证,并且应该针对LDAP进行安全性和身份验证 public class BasicAuthenticationModule: IHttpModule { public void Init(HttpApplication context) { context.AuthenticateRequest += new EventHandler(context_AuthenticateRequest);

我正在处理一个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) 
  {
  } 
}
我使用用于构建上述部分。钩住AUTHENTICATE_请求事件以处理我的服务所需的身份验证

我有以下问题: 当我在浏览器中打开服务时,在我可以输入凭据之前,它会进入Authenticate request事件处理程序,因为授权标头不可用,所以它会请求凭据。 但在我输入凭据后,它不会进入AUTHENTICATE请求事件处理程序,但这次授权标头可用,但无法对其进行身份验证,因此我无法访问WCF服务,它抛出“我未授权”

请让我知道如何为每个请求调用身份验证请求


我对此无能为力。

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

Hi@Terry Coatta感谢您的回复。我们的要求已经改变了,我们不需要使用LDAP,我们可以通过HTTPS和Active Directory使用基本身份验证。因此,我不需要实现自定义身份验证模块!呼。。。。!。
public class BasicAuthenticationModule: IHttpModule 
{ 
public void Init(HttpApplication context) 
{ 
    context.AuthenticateRequest 
       += new EventHandler(context_AuthenticateRequest); 
} 
  void context_AuthenticateRequest(object sender, EventArgs e) 
  {
  } 
}