jquery跨域认证

2024-01-11

我将 Jetty 服务器配置为允许跨域 http 请求 (allowedOrigins = *),并允许使用其 CrossOriginFilter 进行跨域身份验证 (allowCredentials=true)。 无需身份验证的跨域 http 请求可以正常工作。现在,当涉及到需要身份验证的 http 调用时,使用 JQuery 就行不通了。我使用以下代码并遵循此示例:http://www.aswinanand.com/2009/01/http-basic-authentication-using-ajax/ http://www.aswinanand.com/2009/01/http-basic-authentication-using-ajax/

function login(username, password) {
$.ajax({
    type: "GET",
    contentType: "application/json",
    dataType: "json",
    url: url,
    beforeSend: function(xhr) {
        var base64 = Base64.encode(username + ":" + password);
        xhr.setRequestHeader("Authorization", "Basic " + base64);
        xhr.withCredentials = true;
    },
    error: function(data){
        alert("error");
    },
    success: function(data){
        alert("success"); 
    }
});

在 HTTPFox 中,我看到对服务器的以下请求:

OPTIONS /login HTTP/1.1
...
Access-Control-Request-Method   GET
Access-Control-Request-Headers  authorization,content-type

服务器响应一个

HTTP/1.1 204 No Content
...
Allow   OPTIONS,GET,HEAD

我还使用了下面的选项,这没有什么区别。

$.ajax({
    ...
    username: username,
    password: password,
    ...
}

错误函数总是触发。 有人知道问题可能是什么吗?


由于默认允许的标头是

X-请求-带有,内容类型,接受,来源

我必须添加标题

授权,内容类型

通过日志文件找到这个

调试 [2012-05-27 17:04:02,468] org.eclipse.jetty.servlets.CrossOriginFilter:标头 [授权、内容类型] 不在允许的标头 [X-Requested-With、Content-Type、Accept、Origin] 之中]

感谢您的所有提示!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery跨域认证 的相关文章

随机推荐

  • 向量在着色器语言中如何相乘?

    Such as gl FragColor v1 v2 我真的不明白它是如何相乘的 似乎参考文献给出了向量乘法矩阵的解释 ps 类型v1 and v2都是vec4 The 操作员工作组件方面 http en wikibooks org wik
  • 使用 GET 请求发送 POST 数据是否有效?

    例如 使用 Curl 我可以在 GET 请求中 发布 数据 发送实体主体 这是有效的做法吗 我的意思是 RFC 规范没有禁止吗 有人有充分理由使用它吗 See RFC2616 超文本传输 协议 HTTP 1 1 http www faqs
  • AppDomains 和 GC 堆

    是否存在单个 GC 堆进程宽分区 使得每个应用程序域都可以访问特定分区 或者每个应用程序域都有单独的GC堆 我确定其他堆 例如 HF 堆 LF 堆 存根堆 句柄表等等 所有这些堆都是为每个应用程序域单独分配的吗 GC堆也单独分配吗 这可能是
  • .dSYM 文件是如何创建的?

    我正在与另一位开发人员一起开发一个应用程序 他们刚刚向在他们的计算机上构建的应用程序商店提交了一个版本 为了在我的机器上进行构建 属于同一个 git 提交 我必须更改我们在 XCode 项目中使用的库之一的路径 我对 XCode 项目文件所
  • 比较日期范围

    在 MySQL 中 如果我有一个日期范围列表 范围开始和范围结束 例如 10 06 1983 to 14 06 1983 15 07 1983 to 16 07 1983 18 07 1983 to 18 07 1983 我想检查另一个日期
  • 最简单的内联方法左填充字符串[重复]

    这个问题在这里已经有答案了 可能的重复 是否有 JavaScript 函数可以填充字符串以达到确定的长度 https stackoverflow com questions 2686855 is there a javascript fun
  • 寻找一个好的 C++ 库来解析 AMF3 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用阿姆达尔定律计算性能增益

    我对阿姆达尔定律来确定性能增益和串行应用程序部分感到困惑 但未能弄清楚这一点 已知的是以下内容 S N Speedup factor for N CPU s N Number of CPU s f The part of the progr
  • 使用 REST 服务上传文件

    我使用以下 REST 服务 来自本教程 https javatutorial net java file upload rest service 使用 jersey 多部分实现将文件从不同数量的客户端上传到我的 GlassFish 服务器
  • 使用 UIAppearance 设置 UITableView 的背景颜色

    我正在尝试普遍更改表格视图的背景颜色 它是 UINavigationController 和 TabBarController 应用程序的组合 我尝试将以下内容放入 AppDelegate applicationDidFinishLaunc
  • 是否有任何 EJB 迁移工具可用于将 EJB 2.1 迁移到 EJB 3.x

    最好的方法可能是手动完成 但在大型项目中 您需要一些工具来帮助您 正是这个想法促使我寻找一种工具 是否有任何 EJB 迁移工具可用于将 EJB 2 0 迁移到 3 x 它只开发了很短一段时间 但在一段时间内我们确实有一个 eclipse 插
  • 将 JPanel 保存为图像

    我正在开发一个应用程序 允许用户在图层中加载图像 用户可以在另一层上绘制一些图片并仅保存用户绘制的图像 这是我的代码 import java awt Dimension import java awt Graphics import jav
  • Nginx:stat() 失败(13:权限被拒绝)

    我使用默认配置 同时添加安装在我的 ubuntu 12 04 机器上的 nginx 的特定目录 server listen 80 listen for ipv4 this line is default and implied listen
  • 如何让Python除以-0.0和0.0分别得到-Inf和Inf?

    我遇到的情况是 除以 0 0 或 0 0 是合理的 我希望分别看到 Inf 和 Inf 作为结果 看起来Python很喜欢抛出一个 ZeroDivisionError float division by zero 在任一情况下 显然 我认为
  • 如何从Windows命令提示符修改Java控制面板选择(对应于deployment.properties文件)?

    如何从Windows命令提示符修改Java控制面板选择 对应于deployment properties文件 具体来说 我正在寻找可以影响更改的命令 Action for local applets 选择 在 Custom Security
  • 使用一些 Maven 插件重命名 jar 内的文件

    我有一个由 maven shade plugin 构建的 jar 它包含带有多个文件的 META INF services 这些文件的名称错误 因为错误https issues apache org jira browse MSHADE 1
  • 我可以在没有 Bluemix 的情况下使用 IBM Watson 服务吗?

    我一直在使用 AWS 来托管我的后端服务器 注册帐户的最佳方式是什么 这样我就可以直接从我的服务器调用 Watson 服务 而无需在 Bluemix 上拥有帐户 如果是 怎么办 我在 Watson 的网站上找不到这个 谢谢 您绝对可以从 B
  • 在两个屏幕上运行的 iOS 应用程序(无镜像)

    我创建了一个 iPad 应用程序 其中包含幻灯片 当用户点击该幻灯片时 他 她可以输入一些信息 我现在想做的是通过AirPlay 或电缆 如果可能的话 但这似乎只是镜像 连接电视和iPad时在电视上显示幻灯片内容 这可以做到吗 我们能否让幻
  • Spark 结构化流式传输多个 WriteStream 到同一接收器

    Two Writestream在 Spark Structured Streaming 2 2 1 中 到同一个数据库接收器的操作不会按顺序发生 请建议如何使它们按顺序执行 val deleteSink ds1 writestream ou
  • jquery跨域认证

    我将 Jetty 服务器配置为允许跨域 http 请求 allowedOrigins 并允许使用其 CrossOriginFilter 进行跨域身份验证 allowCredentials true 无需身份验证的跨域 http 请求可以正常