【发布时间】:2023-04-06 18:42:01
【问题描述】:
我正在开发 Spring MVC 应用程序。应用程序功能可通过包含 ajax 逻辑的 jsp 使用的 ReST API 访问。我正在使用具有定义角色(用户、公司、管理员)的弹簧安全性。方法使用 requestMapping 和 responseBody 例如:
www.app.com/auth/{userId}/request/{requestId}
当然,它支持获取资源的 GET 和创建或更新资源的 POST。 问题是,在成功登录后,例如,userId = 1 我想要使用 requestId = 99 的 GET 请求。但是当我为 Chrome 运行 WebDev 客户端时,我还可以通过简单的请求格式访问另一个资源
www.app.com/auth/5/request/{requestId}
所以基本上,我可以访问我不被允许看到的资源。我希望你明白我要去的地方。
我的问题是 - 确保这一点的最佳方法是什么? 我正在考虑在会话中存储记录的用户 ID(整数)并在每次请求资源时进行比较,但在我看来,我拉错了绳子的一端:)
感谢您的建议
【问题讨论】:
标签: java spring spring-mvc spring-security