cub*_*buk 5 java rest glassfish jax-rs jersey
我想我正在处理 Glassfish 4 中的一个错误;但我不确定。基本上我试图将服务注入到 ContainerRequestFilter 中;但我在尝试时遇到了异常。我可以在进行休息调用的资源中进行注入,但不能对过滤器使用注入。glassfish jira 中有一个已归档的错误:https : //java.net/jira/browse/GLASSFISH-20597。我尝试了那里提到的解决方法,但没有解决我的问题。
这是我得到的例外:
org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at Injectee(requiredType=Authenticator,parent=SecurityInterceptor,qualifiers
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码,您知道我在这里缺少什么吗?
@Provider
@PreMatching
public class SecurityInterceptor implements ContainerRequestFilter {
@Inject
private Authenticator authenticator; // can't inject this service here, but I can inject this to RequestScoped Resources
private static final Logger LOG = Logger.getLogger(SecurityInterceptor.class.getName());
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
if (!requestContext.getMethod().equals("OPTIONS")) {
String path = OyumBuFunctions.normalizeString(requestContext.getUriInfo().getPath());
String authToken = requestContext.getHeaderString(OyumbuRestHeaders.AUTH_TOKEN_HEADER);
if (!authenticator.isAuthTokenValid(authToken)) {
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).build());
}
else{
LOG.log(Level.INFO, "authenticated");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3658 次 |
| 最近记录: |