IIS7:允许用户在同一个文件上使用“Windows身份validation”或“基本身份validation”来标识自己

在IIS7的一个.asmx页面上是否可以同时启用Windows身份validation和基本身份validation?

我想要的是:

  • 有人调用webservice
  • 如果可能,请使用Windows身份validation(例如,从另一个基于Microsoft的应用程序调用时
  • 如果客户端不知道如何处理Windows身份validation:允许他使用基本身份validation(例如,当客户端是我们不能真正修改的程序时)。
  • 如果仍然不起作用,请发送401

它看起来像 – 只要我启用Windows身份validation – 所有基本的身份validation尝试都会被401忽略/回答,即使login凭据在我启用Windows身份validation之前工作。

在IIS(网站道具)中:

  • 取消选中“匿名访问”
  • 检查“集成Windows身份validation”和“基本身份validation”

确保在web.config中有:

<identity impersonate="true"/> <authentication mode="Windows" /> 

默认设置为:

 <authentication mode="None" /> 

如果“有人调用webservice”不在同一台机器上,
那么您将需要在AD中configuration计算机以进行可信委托,以使Windows身份validation正常工作。

在客户端的IE
菜单工具 – > Internet选项 – >高级 – >安全检查下“集成Windows身份validation”

这可能过于简单,但似乎你有两个select:

  • Windows和基本用户通过不同的页面login

要么

  • Windows用户使用域\用户名和基本用户使用servername \ usernamelogin

这可能是讨价还价的解决scheme,希望有人可以提供更好的东西。 ;)