我正在使用后端的 symfony2 + FosRestBundle 和前端的 angularjs 构建一个应用程序。它是一个单页应用程序。后端和客户端(使用来自 rest api/后端的数据)在同一台服务器上。
登录后,用户可以创建/编辑/删除数据(保持简单)。由于后端是无状态的,我无法使用 symfony2 在服务器上创建任何类型的身份验证上下文,因此我无法在 api 调用中获取用户 ID。
因此,在登录时,我创建了一个令牌并将其保存在客户端应用程序的根范围内。现在关于问题。由于登录用户正在操作数据,例如编辑帖子或将帖子从已发布更改为未发布,我需要将用户 ID 与 api 调用一起传递。但似乎某些请求类型仅限于参数,例如
public function closePostAction($slug)
{} // "close_post" [PATCH] /posts/{slug}/close
您可以在此处找到有关 REST 操作的更多信息https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/5-automatic-route-generation_single-restful-controller.md
那么是否可以将用户 ID 或任何其他类型的参数与 PUT/PATCH/UPDATE/DELETE 请求一起发送?还有其他建议或想法吗?我对这个问题有错误的方法吗?您将如何将用户传递给 rest api 调用?