rest怎么保证请求的内容属于当前用户

新手上路,请多包涵

主要问题如下,假设用户A有资源resourceA,用户B有资源resourceB。
准备设计一个删除功能,如下接口
/del/resourceId
用户A就是/del/resourceA,用户B就是/del/resourceB
怎么才能保证用户A执行/del/resourceB会报错,不会成功执行?
目前的想法是用户A在执行的时候通过cookie或者session保存着A的相关信息,查询A的resource值是否一致来决定是否执行。
由于本人还没正式做过项目,不知道这样的想法是否合理,请各位能够不吝赐教,谢谢。

阅读 4.1k
4 个回答

基本思路是正确的,如果只用cookie,要注意加密信息,防止用户简单修改cookie信息,由A切换为B。
session安全性能好点。
你这个属于权限验证。cookie或者session存储当前用户身份。每次请求,服务端核对用户身份和资源之间的对照关系,判断是否非法请求。 用户和资源之间的对照关系,这个一般存放在服务端数据库,保证了信息安全。

不知道楼主用的什么框架,楼主可以考虑一下shiro进行一定的安全验证和权限验证。

你这个需要就是差不多用户登录,一个用户登录之后会保存改用户信息的,如果用户增伤改查是不会影响到其他用户

如果是MVC类型的工程,可以使用CookieSession,如果是RESTful API则不能(接口是无状态的,不可能使用CookieSession来记录状态的),通常使用OAuth2OpenIdJWT等方案实现。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题