0

我正在开发 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_REQUEST 事件来处理我的服务所需的身份验证。

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

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

我对这个问题无能为力。

4

1 回答 1

0

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

于 2013-11-06T05:44:43.543 回答