【发布时间】:2017-11-06 13:35:57
【问题描述】:
我现在正在 Spring 的 Jersey 使用 REST API。稍后应使用 Android/iOS 访问。
例如,如果我在 Jersey 资源中有类似 @Path("/user/{userID}/settings") 的用户设置。我如何确保每个用户只能访问他/她的设置?我已经阅读了很多关于 spring-security-oauth2 的内容。但据我了解,您只能验证用户是否真的是用户,但如果他/她可以访问其他用户设置,则不会有所作为?!
【问题讨论】:
-
在每次请求私有数据之前验证用户是否经过身份验证。
-
您可能需要额外的安全层来执行您需要的操作。 OAuth 允许您对用户进行身份验证,甚至分配角色,但您需要保护每个 URL 路径,例如。
/user/ABC/settings和/user/DEF/settings分别用于角色/权限。根据 J-Alex 在下面的回答,安全性可以在 Jersey 框架(例如您的负载均衡器)之上的层中提供,也可以在其内部提供。第二个选项更容易。
标签: java android spring rest oauth-2.0