如何在Spring-Boot-REST调用中获取用户信息?

时间:2016-07-14 11:04:08

标签: java rest security authentication spring-boot

我们目前正在评估Spring-Boot作为项目的框架。这个项目有安全要求,基本上我们希望将webservice调用限制为某些角色,但同时,所述调用的结果取决于用户所在的角色。

示例:我理解,我可以使用

阻止或允许用户访问某个REST调用
@PreAuthorize("...")
@PostAuthorize("...")

但我需要的是更多的代码(来自DropWizard):

@Path("/for_date_sec/{date}")
@GET
@RolesAllowed("ADMIN")
public void doSecured(@Auth User user, @PathParam(value = "date") String date) {
  selectReadableObjects(user.getRoles());
  ...
}

根据我的理解,' @ PreAuthorize / @ PostAuthorize'注释可以访问主体。我们还可以将它暴露给它 这可能吗?

1 个答案:

答案 0 :(得分:0)

看来,没有办法让Spring引入一个人为的附加参数。相反,Spring通过SecurityContextHolder提供上下文信息,如Nur Alam Zico所提及的答案所述。