[英]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.