Symphony 2.2版(是的,我知道)。 FOSRestBundle:1.5.3
我有一个REST Api驱动一个角度页面。假设每个用户都有一个与其用户记录相关联的令牌。请考虑以下网址。
GET / api / messages / {messageId}
GET / api / user / {token} / votes
因此用户可以获取GET和POST消息。用户可以进行投票并查看它们。
(我有大约30条像这样的差异路线 - 这些网址到处都是。)
如何验证用户是否可以获取他们提供的令牌的GET / POST数据?
我确实知道我可以复制/粘贴一些代码来检查给定用户与URL中的用户。或者我可以在每个端点上编写一个带有checkUser()
函数的服务。
我希望,有一些方法可以做到这一点,不需要我在每个端点的入口点检查用户。
答案 0 :(得分:1)
不要在端点中发送身份验证。端点通常应该是幂等的,并且应该单独标识特定资源。
在HTTP标头中发送您的身份验证令牌。
据说,作为一种策略,使用@wonde烘焙您的安全性是一个好主意。我过去实现了一个自定义基本控制器类,但symphony中内置的过滤器和事件处理提供了更加性感的解决方案。
答案 1 :(得分:0)
我会创建a before filter
并在其中添加checkUser()
挂钩,这样您就不必检查每个端点上的用户权限