rest怎么保证请求的内容属于当前用户
主要问题如下,假设用户A有资源resourceA,用户B有资源resourceB。
准备设计一个删除功能,如下接口
/del/resourceId
用户A就是/del/resourceA,用户B就是/del/resourceB
怎么才能保证用户A执行/del/resourceB会报错,不会成功执行?
目前的想法是用户A在执行的时候通过cookie或者session保存着A的相关信息,查询A的resource值是否一致来决定是否执行。
由于本人还没正式做过项目,不知道这样的想法是否合理,请各位能够不吝赐教,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
基本思路是正确的,如果只用cookie,要注意加密信息,防止用户简单修改cookie信息,由A切换为B。
session安全性能好点。
你这个属于权限验证。cookie或者session存储当前用户身份。每次请求,服务端核对用户身份和资源之间的对照关系,判断是否非法请求。 用户和资源之间的对照关系,这个一般存放在服务端数据库,保证了信息安全。
不知道楼主用的什么框架,楼主可以考虑一下shiro进行一定的安全验证和权限验证。
你这个需要就是差不多用户登录,一个用户登录之后会保存改用户信息的,如果用户增伤改查是不会影响到其他用户
如果是
MVC
类型的工程,可以使用Cookie
、Session
,如果是RESTful API
则不能(接口是无状态的,不可能使用Cookie
、Session
来记录状态的),通常使用OAuth2
、OpenId
、JWT
等方案实现。