我正在使用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请求?
我对这个问题很无奈。
答案 0 :(得分:0)
您需要确保IIS中的所有其他身份验证模块都已禁用;除了匿名身份验证模块之外。后者似乎在某些情况下是必需的,而在其他情况下则不需要。我无法确定导致这种差异的原因。如果禁用所有身份验证模块(例外),并且您看到服务器返回401.2状态,则需要启用匿名身份验证。