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

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

DIEA
浏览 532回答 4
4回答

慕后森

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

慕斯709654

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

慕盖茨4494581

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

慕莱坞森

如果是MVC类型的工程,可以使用Cookie、Session,如果是RESTful API则不能(接口是无状态的,不可能使用Cookie、Session来记录状态的),通常使用OAuth2、OpenId、JWT等方案实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java