IIS上的安全行为不一致

时间:2012-09-20 12:34:55

标签: wcf-security iis-express

我们有一个安全的WCF服务,WsHttpBinding,Client&服务器证书&基于声明的授权的传输安全性。

50%的时间都可以正常运行。当我们向安全端点请求时,我们会得到正确的响应。但是,如果我们在第一次请求后再次发送相同的请求,我们会得到以下响应:

The HTTP request was forbidden with client authentication scheme 'Anonymous'.

如果我们再次发送请求,我们会得到正常的行为。所以奇怪的请求工作,甚至没有。

但是在经过一番调查之后才解决了这个问题。我们注意到如果前一个请求之间至少有1:40分钟,我们就不会收到错误响应。

我们可以从调试器和日志记录中确认。客户端将凭据发送到服务。如果我们有Authentication响应,我们不会输入System.ServiceModel。在IIS跟踪日志中,我们得到了一个很好的请求:

Authentication: SSL/PCT 
User from token: Domain\CertifacteUserName 

这是一个错误的请求:

Authentication: NOT_AVAILABLE 
User from token: 

同样在IIS Trace日志记录中。如果我们发送第二个请求,我们会看到两个请求上的ConnId和RawConnId相同。如果我们做出多个成功的请求(通过在请求之间允许一些时间),则每个请求都是不同的。

在我看来,当他们在那里时,IIS没有收到我们发送的凭据。这是由于缓存?或者是其他东西?有没有人有解决方案。

0 个答案:

没有答案