繁体   English   中英

REST API安全性-如何保护它而不是sessionid

[英]REST API security - how to secure it instead of sessionid

我有一个有关我的简单REST API应用程序安全性的问题。 我实现了安全性检查,并且每次尝试从数据库中读取/更新数据(这是一个简单的HttpSession session = request.getSession(true);并检查-这是新会话还是旧会话,并且是否等于会话ID)来回饼干)。

但问题是-即使这是一个有效的用户和有效的会话-我也得到了一个使用户忽略其他用户的URL:

http:// localhost:8080 / ChatRest / rest / FriendService / ignoreFriend / 1/2

我可以更改2个用户ID(最后2个数字)并发送相同的请求,以使其他系统用户忽略其他人,例如: http:// localhost:8080 / ChatRest / rest / FriendService / ignoreFriend / 3/4

我怎么解决这个问题? 我在Google上搜索了很多(例如-RESTful身份验证和相关文章,包括安全性问题)。 但是解决这个问题的最简单方法是什么? 我是一个初学者,所以我很乐意找到最简单的解决方案。

谢谢!

只要用户不共享相同的凭据,任何身份验证机制都可以处理此问题。 即使使用Basic AUTH ,您也可以确定谁进行了身份验证。

如果登录用户的id=1 ,那么他可以执行http://localhost:8080/ChatRest/rest/FriendService/ignoreFriend/1/2 ,但他不能忽略其他id 实际上,由于您是从数据库中获取用户ID的,因此您甚至不需要第一个参数。 它将是ignoreFriend/2 ,意思是“我想忽略我要作为参数提供其ID的人”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM