支持基本,匿名和Windows身份验证的Web服务/ api

时间:2015-06-11 13:22:15

标签: asp.net authentication windows-authentication

我们有多个Web服务,可以访问一些大型数据提取。它们作为http处理程序实现,因此我们可以将结果直接传输到响应流中。我们已经在单个端点上进行匿名和HTTP基本身份验证。我们现在想要添加Windows身份验证,以便内部用户可以访问他们可以从内部Web应用程序获得的所有相同数据。

但是,如果我在IIS的配置中禁用匿名身份验证,我只能使用Windows身份验证。显然,这意味着对此端点的匿名请求将停止工作。我没有测试HTTP Basic,但我猜他们也会停止工作。

我知道我们可以创建一个新的端点,仅用于Windows身份验证的请求。但是,有没有办法让它与单个端点一起工作,就像我们已经拥有匿名和基本身份验证一样?

由于启用了匿名,用户无法使用其网络浏览器进行经过身份验证的请求,但我们对此限制不满意。我尝试创建一个HTML页面,该页面发出XHR请求并将withCredentials设置为true,但是在IIS中禁用匿名身份验证时,Web服务只会看到用户名。我还创建了一个控制台应用程序,试图以不同的方式强制网络凭据。但同样,只有在禁用匿名请求时,Web服务才会看到用户名。

是否有人知道是否可以在单个网址上实现匿名和Windows身份验证?

1 个答案:

答案 0 :(得分:1)

无法在同一端点一起启用Windows身份验证和匿名身份验证。 您将不得不创建不同的URL