Java 直接向Quarkus/RESTEasy web服务方法提供安全标识
我正在将Quarkus与RESTEasy结合使用,以创建web服务,并且我需要在某些方法中访问Java 直接向Quarkus/RESTEasy web服务方法提供安全标识,java,resteasy,quarkus,Java,Resteasy,Quarkus,我正在将Quarkus与RESTEasy结合使用,以创建web服务,并且我需要在某些方法中访问SecurityIdentity 通过将服务requestscope设置为,可以将其注入: @RequestScoped @Path("/foo") public class FooResource { @Inject public SecurityIdentity securityIdentity; @GET public Foos getFoos() {
SecurityIdentity
通过将服务requestscope设置为
,可以将其注入:
@RequestScoped
@Path("/foo")
public class FooResource {
@Inject
public SecurityIdentity securityIdentity;
@GET
public Foos getFoos() {
// use securityIdentity
}
}
但是我更愿意让类应用程序处理
,并将安全标识
提供给方法。大概是这样的:
@ApplicationScoped
@Path("/foo")
public class FooResource {
@GET
// This does not work, Quarkus tries to convert the request body to a SecurityIdentity.
public Foos getFoos(SecurityIdentity securityIdentity) {
// use securityIdentity
}
}
这可能吗?是否有一个神奇的注释可以让Quarkus注入
安全标识
?保持将其注入字段仍然适用于应用程序范围的bean,并且是线程安全的哦,哇。我的心都快崩溃了。所以SecurityIdentificationProxy是RequestScope的,但仍然可以注入到应用程序范围的bean中,这一切都是线程安全的。我想我有一些书要读。我仍然希望为该方法提供SecurityIdentity,因为我认为这更能表明意图,但我猜这不是Quarkus/J2EE-CDI方式。