use*_*028 3 rest spring spring-mvc spring-security
我有一些 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 {
Run Code Online (Sandbox Code Playgroud)
如果将来需要,您可以通过执行以下操作来添加更多用户
@Secured(value = {"ROLE_ADMIN", "userid"})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1925 次 |
| 最近记录: |