【问题标题】:How to get User-Information in Spring-Boot-REST calls?如何在 Spring-Boot-REST 调用中获取用户信息?
【发布时间】:2016-11-17 06:31:10
【问题描述】:

我们目前正在评估 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”注释可以访问主体。我们也可以将它暴露给 这可能吗?

【问题讨论】:

  • You can see here 您可以通过检索 UserDetails 来获取所有其他信息。

标签: java rest security authentication spring-boot


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 2021-04-15
    • 2017-12-30
    • 1970-01-01
    • 2020-07-17
    • 2013-04-03
    • 2015-10-11
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多