1

我在使用 jax-ws 注入 SecurityContext 时遇到问题。请按照以下示例进行操作:

@JWTTokenNeeded
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/list")
public String list(PublishProductsRequest request, @Context SecurityContext securityContext) {

    User user = userService.getByUserPrincipal(securityContext.getUserPrincipal());
}

此时使用@Context SecurityContext 我可以接收到我需要的信息。

在此之后,我需要调用一个将搜索一些信息的服务,但是这些信息需要通过 customerId 过滤,并且这个 customerId 在用户内部。

服务将是这样的:

productService.list();

在服务内部,我将有一个 DAO,如下所示:

productDao.list();

Dao里面的select是这样的:

select * from products where customer_id = :user.customer_id;

所以,我想知道将用户注入到 Service(@component) 或 Dao(@Repository) 中是否可能或最好的方法。

当然这是一个例子,但我有很多需要用户信息的方法,我不想将它作为参数传递,比如:

productService.list(user);

productDao.list(user);
4

0 回答 0