我有一些 RESTful 服务,使用 Spring MVC 实现,公开一组资源。我已经使用基于 HTTPBasicAuthentication 和 HTTPS 的身份验证。某些资源必须只能由某些用户访问。
例如,我希望 URI 中的所有子资源/users/{userid}/photos
仅用户可以访问userid
。实际上,在我的应用程序中,所有经过身份验证的用户都可以访问它们。我怎样才能保护他们免受其他用户的侵害,除了userid
?
如果我只想允许一部分用户访问此资源(例如,userid
的朋友)?
你可以在你的方法上做这样的事情:
@ResponseBody
@RequestMapping(value = "/users/{userid}/photos", method = RequestMethod.GET)
@Secured(value = {"userid"})
public ResponseEntity<ModelMap> getPhotos(....) throws Exception {
如果您将来愿意,您可以通过执行以下操作来添加更多用户
@Secured(value = {"ROLE_ADMIN", "userid"})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)