2016-07-14 78 views
0

我们目前正在评估春启动,作为项目的框架。这个项目有安全要求,基本上我们想限制web服务调用某些角色,但是同时这些调用的结果取决于用户所处的角色。如何获得Spring的开机REST调用用户信息?

例子:我明白了,我可以阻止或允许在一定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

[你可以在这里看到(http://stackoverflow.com/questions/6161985/get-userdetails-object-from-security-context-in-spring-mvc-controller)您可以通过检索得到所有其他信息的UserDetails。 – Zico

回答

0

看来,有没有办法让春天引入人工附加参数。代替弹簧,由诺尔Alam的济科称为答案描述经由SecurityContextHolder提供了上下文信息。