我刚刚开始将我的GWT-RPC代码移植到新的RequestFactory
机制。
为了防止跨站点请求伪造(CSRF),我的GWT-RPC代码获取了存储在cookie中的会话ID,并将其包含在请求的有效负载中。这可能是RequestFactory
吗?
据我所知,有四种强制定位器方法,包括findEntity(id_type id)
;所以我在想:哦,亲爱的:我在哪里开会话?
答案 0 :(得分:9)
通常,您会扩展DefaultRequestTransport
以将令牌添加到请求中(例如自定义标头,但您也可以将其添加到请求正文中)并将其传递给init
你的RequestFactory
。在服务器端,您将使用servlet过滤器,或者在处理RequestFactory请求之前扩展RequestFactoryServlet
来处理令牌。您可以在此处定义自己的“协议”:例如返回403或401状态(或其他),然后在RequestTransport
中处理它以将结果传达给您的应用。