【问题标题】:web service/api supporting basic, anonymous and windows authentication支持基本、匿名和 Windows 身份验证的 Web 服务/API
【发布时间】: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


    【解决方案1】:

    不能在同一个端点同时启用 WindowsAuthentication 和 Anonymous 身份验证。 您将不得不创建不同的 url

    【讨论】:

    • 感谢您的回复。我希望有一种很难找到的方法来做到这一点,但没有其他人给出解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多