【发布时间】:2011-06-27 04:13:06
【问题描述】:
考虑一个包含一组使用 ASP.NET 4 和本机 C++ IIS 模块构建的 ReST Web 服务的应用程序。
我们需要能够支持 2 个身份验证策略:
内部用户可以直接从另一个客户端应用程序(比如在 Silverlight 或 Java 中实现)内部调用我们的 ReST 端点,他们已经针对内部单点登录提供程序进行身份验证,提供安全令牌作为 HTTP 调用的一部分。
为了测试,我们希望允许用户使用浏览器访问 ReST 端点,因此我们需要允许他们通过输入用户名/密码来进行身份验证(我们将检查单点登录提供的网络服务器)。为此,我们正在考虑使用 ASP.NET Forms 或 Digest。
(所以在一种情况下,用户已经通过身份验证 - 但我们需要为每次调用验证这一点,在另一种情况下,我们需要质询他们以提供凭据)
问题是如何支持这两种场景。
我找不到适用于这两种情况的解决方案:
如果我收到来自应用程序(非浏览器)的调用并且令牌丢失,我无法将它们重定向到 login.aspx,因为调用我们的应用程序不知道如何处理一堆HTML(登录表单)。我需要返回响应码 401。
1234563
以前有人遇到过这个问题吗?
提前致谢。
附:一些 Web 服务将在 C++ 中实现这一事实使事情变得复杂,但如果我们使用表单身份验证,至少我可以使用集成管道并为原生模块使用表单。
【问题讨论】:
标签: c# asp.net iis authentication