gpt4 book ai didi

jquery - 使用 JQuery 访问 protected REST 端点

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

我有一个网站,成员可以登录其帐户 (FormsAuth)。我想设置一个可以使用 jQuery 访问的 RESTful 服务。我想使用相同的 FormsAuth 来保护这些服务。

第三方网站如何才能访问这些服务?他们需要将主体/身份传递给服务,对吗?

我只见过基本身份验证的示例(Twitter 使用且 jQuery 支持)。

我对 WCT/REST 很陌生,所以不确定应该如何完成。

最佳答案

需要记住的重要一点是 Forms 身份验证基于 cookie 进行工作。当客户端浏览器向服务器发送请求时,它会随每个请求发送 cookie。如果服务器需要特定的 cookie(如果您在特定 URL 上强制执行身份验证,则 ASP.NET 会提出此要求)并且该 cookie 不存在,此时您会收到未经授权的错误。

为了获取 jQuery 代码,客户端必须从主机页面请求它,该主机页面可以是通过表单例份验证保护的 ASP.NET 页面。这是第一步 - 保护对 jQuery 代码本身的访问。您需要做的下一件事是安全访问 RESTful 端点。

如果您将 .svc 端点(假设您在 IIS 中托管 RESTful WCF 服务)作为通过 Web.config 设置受表单例份验证保护的应用程序的一部分放在同一目录中,则 ASP.NET 将在 WCF 获知该请求之前拒绝对 .svc 终结点的请求。通过这种方式,您可以将 WCF 服务包装在表单例份验证中,而无需在服务中进行任何复杂的编码。

由于 jQuery 在向端点发出 HTTP 请求时是在浏览器的上下文中执行此操作,因此从 jQuery 发出的 HTTP 请求(只要 jQuery 是从与表单验证站点相同的根加载的)将包含身份验证 cookie。

关于jquery - 使用 JQuery 访问 protected REST 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/739598/

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