首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GWT RPC安全性、http头、身份验证和requestbuilder

GWT RPC安全性、http头、身份验证和requestbuilder
EN

Stack Overflow用户
提问于 2012-06-06 09:25:07
回答 2查看 3.9K关注 0票数 3

我假设GWT RPC实际上使用RequestBuilder。

有没有办法提取我的RPC服务异步请求者使用的RequestBuilder实例?

实际上,我的问题是,如何提取RequestBuilder实例以将身份验证令牌作为http头插入?有没有办法将http头插入到RPC服务请求中?

即使我可以将http头插入到请求中,远程servlet如何被告知等待该auth令牌呢?因此,实际上,GWT RPC是否提供了安全身份验证框架?

我认为答案是否定的,或者至少不是以一种方便的方式。我说的对吗?

我使用过RestEasy与RestyGWT over SSL相结合,我们可以在任何时候插入报头。顺便说一句,RestyGWT构造了使用RequestBuilder的请求。

我的实际动机是比较GWT和GWT RS (RestyGWT + RestEasy)之间的安全有效性。因此,如果您作为答复者,有其他详细的论述来比较RPC和直接使用RequestBuilder或REST (而不是直接回答这个问题)的安全有效性,请随时详细说明。

我假设GWT RPC不是安全友好的/有效的,我应该避免使用GWT RPC进行安全的身份验证请求,这是正确的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-06 09:44:27

您可以让异步方法返回RequestRequestBuilder,而不是voidRequest允许您返回挂起的请求,而RequestBuilder允许您在请求发送之前修改请求(如果您将abort() -type声明为RequestBuilder,您将负责调用send()来实际发出请求)。

或者,您可以使用RpcRequestBuilder为使用特定异步服务代理进行的每个调用自定义RequestBuilder

票数 6
EN

Stack Overflow用户

发布于 2012-06-06 10:04:02

据我所知,目前还没有针对gwt rpc的内置安全解决方案。但如果我需要这样的身份验证,我会执行以下步骤:

1)为了能够设置http头,你可以定制你的请求构建器,就像我自己做的那样:

代码语言:javascript
运行
AI代码解释
复制
MyServiceAsync myService = GWT.create(MyService.class);
MyRequestBuilder myRequestBuilder = new MyRequestBuilder();
myRequestBuilder.addHeader("header", "value");
((ServiceDefTarget) serviceInstance).setRpcRequestBuilder(myRequestBuilder);

MyRequestBuilder扩展了RpcRequestBuilder。在MyRequestBuilder中,我重写了doFinish(RequestBuilder rb)方法,我把头放在那里。

也许这不是一个超级解决方案,但我还没有找到更好的解决方案。

2)对于服务器端,我将实现用于检查报头的AuthenticationFilter,并在调用Servlet之前执行服务器端身份验证函数。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10911462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档