我正在开发 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(整数)并在每次请求资源时对其进行比较,但在我看来,我拉错了绳子的一端:)
谢谢你的任何建议