我刚刚开始将我的 GWT-RPC 代码移植到新的 RequestFactory
机制。
为了防止跨站点请求伪造 (CSRF),我的 GWT-RPC 代码抓取了已存储在 cookie 中的 session id,并将其包含在请求的负载中。 RequestFactory
有可能吗? ?
我了解有四种强制定位器方法,包括 findEntity(id_type id)
;所以我在想:哦,亲爱的:我在哪里放我的 session ID?
最佳答案
通常,您将扩展 DefaultRequestTransport
将 token 添加到请求中(例如自定义 header ,但您也可以将其添加到请求正文中)并将其传递给 init
您的RequestFactory
.在服务器端,您将使用 servlet 过滤器或扩展 RequestFactoryServlet
在处理 RequestFactory 请求之前处理 token 。您可以在这里自由定义自己的“协议(protocol)”:例如返回 403 或 401 状态(或其他),然后在 RequestTransport
中处理它将结果传达给您的应用程序。
关于gwt - 使用 GWT 的 RequestFactory 时防止 CSRF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227436/