Tag: rest

通过json进行REST api身份validation

我正在尝试使用我发现的REST插件在CakePhp应用程序中执行一个简单的REST API,这对于Authorization使用http标头。 我的问题是,如何使用json提供jQuery,例如标题: Authorization: TRUEREST username=wwwww&password=zzzzz&apikey=xxxxxyyyyyyy

如何在控制器中访问POST请求的参数

使用Javascript: $.post(“/DataAPI/messageProcessor”, { query: “Hello World!” }, function (data) { Handle(data); } }); 控制器: [System.Web.Http.AcceptVerbs(“Post”)] [System.Web.Http.ActionName(“messageProcessor”)] public ResponseModel messageProcessor(string query) { ResponseModel model=DoStuff(query); return model; } 如何从控制器访问query 。 它始终以query == null到达。 还有Request对象可用,但我不确定如何浏览其成员以达到我的”Hellow World!” 。

“Access-Control-Allow-Origin:*”对REST Web服务没有影响

我从JavaScript客户端(在机器A上运行)到Web服务器(在机器B上运行)进行AJAX调用。 客户端尝试访问由RESTful Web服务(Jersey)公开的URL,并且它被阻止并显示错误: Access-Control-Allow-Origin不允许使用原始http:// localhost / 在服务器中,我添加了2个标头参数,允许访问任何客户端。 但它没有帮助: @Context private HttpServletResponse servlerResponse; @POST @Path(“testme”) public void test(){ servlerResponse.addHeader(“Access-Control-Allow-Origin”, “*”); servlerResponse.addHeader(“Access-Control-Allow-Credentials”, “true”); } 对于JSP,相同的头文件有效: test jsp test 我错过了什么吗? 谢谢 PS客户端部分是: $.ajax({ type: “POST”, url: “http://localhost:8080/login/testme”, dataType: ‘json’, success: onLoginSuccess, error: onLoginError });

使用jQuery的Jenns json REST api和CORS请求

我正在尝试使用Jenkins json API,无法使身份validation工作。 建立: Jenkins安全性: Jenkin’s own user database 访问: Matrix-gebaseerde beveiliging CORS通过Jenkins CORS插件 使用注册用户的用户名/ api令牌 尝试: var username = “username”; var apiToken = “apiToken”; // username / api-token on url (basic authentication) $.ajax({ url: “http://”+username+”:”+apiToken+”@host:port/job/test/api/json”, method: “GET” }); // username / api-token supplied using jQuery’s username/password properties $.ajax({ url: “http://host:port/job/test/api/json”, method: “GET”, username: username, […]

使用jQuery前端的REST Web服务安全性

谢谢阅读。 我想开发一个安全的Web应用程序,其中jQuery作为前端,.NET MVC作为服务器端,其function以RESTful Web服务表示。 在这一点上,我正在设想我将使用的安全方案,但我想要一些关于最佳实践的建议(显然我将使用https / ssl,但当然还有更多内容)。 我一直是秘密密钥方法的粉丝所以我正在绞尽脑汁试图弄清楚如何在这种类型的Web应用程序架构中使用它,但我不知所措。 基本上,将生成密钥并将其放置在服务器上以及提供给客户端(因此密钥永远不会通过线路发送),并且每个客户端请求必须使用此密钥以数字方式“签名”。 这将是您通常在Web应用中看到的典型用户名/密码/会话ID结构的补充。 我的问题是在客户端上实际存储密钥。 由于jQuery文件只是位于服务器上的.html,因此无法访问虚拟Web目录之外的目录中的密钥文件。 将秘密密钥文件放在公共网站上并不会让它成为太多秘密。 🙂 以下是我希望它的工作方式: 在一定的时间间隔(5-15分钟),后端进程生成一个密钥,并将其放在后端数据库中,以及Web服务器上非公共位置的文件中。 当客户端发出请求时,它将从密钥文件中读取,然后使用密钥对请求进行数字签名。 服务器接收请求并使用密钥对其进行解码。 但显然#2是问题所在,因为无法通过javascript访问“秘密”(即非公开)文件。 我太偏执了吗? 密钥方法很好,因为它具有超出用户名/密码的另一级别的安全性(攻击者需要密钥和有效的用户名/密码),如果我每5分钟重新生成密钥,则风险会降低,如果密钥会泄漏。 这也确保所有请求都来自“认证”客户端。 但我不知道如何使用非编译代码,如html / jQuery。 有没有人对RESTful Web服务安全方法有任何建议或文章? 谢谢 :) 文斯

Jquery Rest与WCF 3.5的通信

我正在测试在asp.net mvc站点和WCF 3.5服务之间交换rest消息的基础知识。 该服务使用在codeplex上找到的WCF REST入门工具包中的模板构建。 我想用jquery交换json消息。 REST Singleton服务正常运行,它还提供了所有可能调用的示例,在uri的末尾添加了help参数。 我到达使用内置的jquery $ .getJSON执行GET请求。 我在执行PUT(用于更新值)和POST时遇到问题。 $.ajax({ type: “PUT”, dataType: “json”, url: “http://localhost:1045/Service.svc/?format=json”, data: ‘{“Value”:testvalue}’ }); 对此最好的方法是什么? 是否有可能根本不使用Ajax女士,绕过它是否正确?

在IE的请求中设置AJAX内容类型标头

从Internet Explorer发送跨域jquery ajax http请求时,是否可以将http内容类型请求标头设置为’application / json’? 我们正在尝试点击REST WCF服务,该服务在格式化响应时解释请求标头中的内容类型。 现在,无论我们在请求标头中放入什么,它总是以XML格式返回数据。 我们已经尝试使用jquery.ieco​​rs.js插件扩展了jquery ajax调用以使用XDomainRequest对象,但仍然忽略了我们的jquery ajax调用中设置的内容类型。 这是我们的ajax调用的样子: makeGETRequest: function (requestUrl) { return $.ajax({ type: “GET”, url: requestUrl, contentType: ‘application/json’, dataType:’json’, cache: false }); }

使用REST API编辑可编辑的jQuery Grid Recommendations

首先,我已经阅读了“ jQuery Grid Recommendations ”这个问题,但它没有回答我的问题。 我有一个与MongoDB后端的小型REST API : 获得所有设备: GET /equipements HTTP/1.1 {{_id:key1, name:Test Document 1, plateforme:prod}, {_id:key2, name:Test Document 2, plateforme:prod}, …} 使用密钥获取设备:key1 GET /equipements/key1 HTTP/1.1 {“_id”: “key1”, “name”: “Test Document 1”, “plateforme”: “prod”} 添加新设备 PUT /equipements HTTP/1.1 {“_id”: “key8”, “name”: “Test Document 3”, “plateforme”: “prod”} HTTP/1.0 200 OK 现在,我需要找到一种简单的方法来允许lambda用户添加/查看/ del设备。 所以我认为一个像UI这样的jQuery的Web界面是最好的。 我尝试使用Sencha Rest […]

使用HTTP PUT通过Jquery和Rails 3发送JSON

HTTP PUT并不完全是跨浏览器,因此Rails(我使用的是Rails 3)支持使用POST并传递_method查询参数。 这很好,但在发送JSON时它似乎不起作用。 例: $.ajax({ url: window.location.pathname, type: ‘POST’, contentType: ‘application/json’, data: JSON.stringify({_method:’PUT’, page:{my_data: 1}), dataType: ‘json’ }); 当Rails看到这个时,它不会识别’_method’覆盖,因为它以JSON格式传递(也许转换是稍后的?)。 Rails返回错误“没有路由匹配…”说它找不到路由(到资源),我假设因为它与REST update = HTTP PUT动词不匹配,我甚至尝试将此附加到URL: ?_method=PUT但得到了相同的结果。 唯一可行的方法是设置HTTP标头: $.ajax({ url: window.location.pathname, type: ‘POST’, contentType: ‘application/json’, data: JSON.stringify({my_data: 1}), dataType: ‘json’, beforeSend: function(xhr){ xhr.setRequestHeader(“X-Http-Method-Override”,”put”); } }); 设置HTTP覆盖标头是最好的方法吗?

使用jQuery AJAX的WCF REST – 删除/解决相同的源策略

所以我正在尝试创建一个由jQuery调用的C#WCF REST服务。 我发现jQuery要求AJAX调用是在相同的源策略下进行的。 关于如何进行,我有几个问题。 我已经知道了; 1. JSONP与服务器回调的hacky解决方案 2.拥有跨域代理的服务器开销过多的方式。 3.在浏览器中使用Flash进行调用并在我的WCF服务器根目录下设置crossdomain.xml。 我宁愿不使用这些因为; 1.我不想使用JSON,或者至少我不想限制使用它 2.我想将提供静态页面的服务器与提供应用程序状态的服务器分开。 3.这个时代的闪光是不可能的。 我在想:有没有类似Flash的crossdomain.xml文件适用于jQuery? 这个“同源”策略是jQuery的一部分还是特定浏览器中的限制? 如果它只是jQuery的一部分,也许我会尝试挖掘代码来解决它。 编辑: Shreddd得到了相当多的信息,见下文。 要在C#中执行此操作,我创建了以下方法,您需要调用所有服务方法: private void BypassCrossDomain() { WebOperationContext.Current.OutgoingResponse.Headers.Add(“Access-Control-Allow-Origin”, “*”); } 重要的是要注意,这允许跨站点脚本攻击,当您需要根据您的请求发送第三方cookie时,您也不能使用“*”。