gpt4 book ai didi

使用来自 Windows 应用程序的表单例份验证的 ASP.NET Web 服务

转载 作者:行者123 更新时间:2023-12-04 21:26:23 25 4
gpt4 key购买 nike

我有一个可以通过 Windows 程序访问的 ASP.NET Web 服务,但现在我想保护该 Web 服务。我可以使用表单例份验证来保护 Web 服务。如何从 Windows 窗体应用程序访问 protected Web 服务?

最佳答案

尽管这不是正确的方法,但理论上可以按照您描述的方式使用表单例份验证。这可以通过以下任一方式完成:

  • 使用 WebRequest 以原始形式将您的请求发送到 Web 服务。这将涉及检查响应,提取相关的表单例份验证字段,并发送回使用户登录的响应。这将生成一个 cookie,您必须将其与每个后续响应一起发送到服务
  • 自己生成 FormsAuhentication 身份验证 cookie。这很复杂,因为它涉及同步调用应用程序上的机器 key ,并人为地操纵发送到托管服务的机器的 header 。
  • 显示表单例份验证表单,供用户在需要与 Web 服务交互的 session 开始时登录。然后,您可以收集生成的 cookie 并将其在 HTTP header 中呈现给服务,如选项 (2) 中所述。

  • 正如您所看到的,这些方法非常复杂,并且从根本上说是在无意中使用表单例份验证的一种技巧。

    Microsoft 希望我们使用 Windows 身份验证或 SSL 证书来保护对 ASP.NET Web 服务的访问。见 HTTP Security and ASP.NET Web Services在 MSDN 上。

    如果您能够使用 WCF,那么会出现更多选项,包括在 WCF 的一些支持下将自定义身份验证机制构建到 SOAP 中的能力。

    在大多数情况下,保护 Web 服务是工作中最棘手的部分之一。我见过的许多实时解决方案都是妥协,例如上面的那些。

    关于使用来自 Windows 应用程序的表单例份验证的 ASP.NET Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571786/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com