【发布时间】:2015-08-27 05:19:51
【问题描述】:
我们有多个 Web 服务提供对一些大型数据提取的访问。它们被实现为 http 处理程序,因此我们可以将结果直接流式传输到响应流中。我们已经在单个端点上进行了匿名和 HTTP 基本身份验证。我们现在想添加 Windows 身份验证,以便内部用户可以访问他们可以从内部 Web 应用程序获得的所有相同数据。
但是,如果我在 IIS 的配置中禁用匿名身份验证,我只能让 Windows 身份验证工作。显然,这意味着对这个端点的匿名请求停止工作。我没有测试 HTTP Basic,但我猜它们也会停止工作。
我知道我们可以创建一个新端点,仅用于 Windows 身份验证请求。但是,有没有办法让它与单个端点一起工作,就像我们已经拥有的匿名和基本身份验证一样?
由于启用了匿名,用户无法使用他们的网络浏览器发出经过身份验证的请求,但我们可以接受这个限制。我尝试创建一个发出 XHR 请求并将 withCredentials 设置为 true 的 HTML 页面,但 Web 服务仅在 IIS 中禁用匿名身份验证时才能看到用户名。我还创建了一个控制台应用程序,它试图以不同的方式强制使用网络凭据。但同样,Web 服务仅在禁用匿名请求时才能看到用户名。
有谁知道是否可以在单个 URL 上实现匿名和 Windows 身份验证?
【问题讨论】:
标签: asp.net authentication windows-authentication