我使用来自this SO answer的事件侦听器来重定向具有特定角色的用户。但是现在,对于一个角色,我必须使用一些POST数据将用户重定向到外部链接。
因为在onKernelResponse()
我必须设置$event
响应而RedirectResponse
无法使用POST(至少那是我被告知的),我有点迷路了。我该怎么办?
答案 0 :(得分:2)
在HTTP 1.1中,您有307状态代码,表示请求应重复。因此,您可以使用此代码创建Http Request。
301/302不能为POST工作。另一种方法是使用CURL,但它因为你使用其他客户端而有所不同。
10.3.8 307临时重定向
请求的资源暂时驻留在不同的URI下。由于重定向有时可能会被更改,因此客户端应该继续使用Request-URI来处理将来的请求。如果由Cache-Control或Expires标头字段指示,则此响应仅可缓存。
临时URI应该由响应中的Location字段给出。除非请求方法是HEAD,否则响应的实体应该包含一个带有指向新URI的超链接的短超文本注释,因为许多HTTP / 1.1前用户代理不理解307状态。因此,注释应该包含用户在新URI上重复原始请求所需的信息。
如果收到307状态代码以响应GET或HEAD以外的请求,则用户代理不得自动重定向请求,除非用户可以确认,因为这可能会改变请求的条件。发出的。
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
代码:
{{1}}