主要问题如下,假设用户A有资源resourceA,用户B有资源resourceB。准备设计一个删除功能,如下接口/del/resourceId用户A就是/del/resourceA,用户B就是/del/resourceB怎么才能保证用户A执行/del/resourceB会报错,不会成功执行?目前的想法是用户A在执行的时候通过cookie或者session保存着A的相关信息,查询A的resource值是否一致来决定是否执行。由于本人还没正式做过项目,不知道这样的想法是否合理,请各位能够不吝赐教,谢谢。
4 回答
慕后森
TA贡献1802条经验 获得超5个赞
基本思路是正确的,如果只用cookie,要注意加密信息,防止用户简单修改cookie信息,由A切换为B。
session安全性能好点。
你这个属于权限验证。cookie或者session存储当前用户身份。每次请求,服务端核对用户身份和资源之间的对照关系,判断是否非法请求。 用户和资源之间的对照关系,这个一般存放在服务端数据库,保证了信息安全。
慕莱坞森
TA贡献1810条经验 获得超4个赞
如果是MVC类型的工程,可以使用Cookie、Session,如果是RESTful API则不能(接口是无状态的,不可能使用Cookie、Session来记录状态的),通常使用OAuth2、OpenId、JWT等方案实现。
添加回答
举报
0/150
提交
取消
