- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Apache CXF 创建一个 RESTful 网络服务。我想对使用 @Authenticate 注释的资源的请求进行身份验证。为此,我打算编写一个匹配 ContainerRequestFilter 的帖子并验证请求,如果身份验证失败,则执行 ContainerRequestContext.abortWith(javax.ws.rs.core.Response)。但是我只想对用@Authenticate 注释的资源进行身份验证。
问题是我找不到如何访问匹配的资源。我知道我可以使用 CXF 拦截器来做到这一点,但我想坚持使用 JAX-RS 2.0 提供的功能。我在另一篇文章中看到,您可以在 Rest-easy 中使用以下内容
ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker)
requestContext.getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
Method method = methodInvoker.getMethod();
能否在 CXF 中采用类似的方法?
谢谢
最佳答案
只需在您的过滤器类中添加以下内容作为实例变量:
@Context
ResourceInfo info;
"javax.ws.rs.container.ResourceInfo is a new JAX-RS context which can be injected into filters and interceptors and checked which resource class and method are about to be invoked."
(来源:https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Basics#JAX-RSBasics-ResourceInfo)
关于java - 如何从 Apache CXF 中的 ContainerRequestFilter 获取目标资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19525185/
我正在尝试使用 ContainerRequestFilter 对基于 Tomcat 的 Jersey 应用程序强制执行某些身份验证。我关注了this document 。问题:过滤器永远不会被触发 过
我正在尝试使用 ContainerRequestFilter 对基于 Tomcat 的 Jersey 应用程序强制执行某些身份验证。我关注了this document 。问题:过滤器永远不会被触发 过
我想对每个请求进行全局检查。因此,我使用 ContainerRequestFilter (没有 @PreMatching )并抛出 WebApplicationException如果检查未通过,则响应
我正在尝试几个小时来使主题中解释的机制起作用:Best practice for REST token-based authentication with JAX-RS and Jersey 但在调试
我有一个 ContainerRequestFilter 实现,例如HeaderRequestFilter,我想让它为每个请求实例化。我正在使用 Spring 和 Jersey 。我尝试将 @Scope
我刚刚开始学习如何编写 REST Web 服务代码,并且已经坚持了好几天了。我正在使用 Jersey 2 编写一个具有基于 header 的过滤功能的示例应用程序,并部署在 Tomee-plus 1.
我们计划为我们的 REST API 使用 Jersey 的引用实现。作为原型(prototype)工作,我也在使用 ContainerRequestFilters 并实现了其中的多个。有没有一种方法可
我正在尝试通过创建一个小的 RESTful 服务来学习 Jersey 。我想出于特定原因使用过滤器(就像我想使用 ContainerResponseFilter for CORS header 以允许
我正在使用 dropwizard 和 Jersey ,我通过以下方法定义了 ContainerRequestFilter 的自定义提供程序 import javax.ws.rs.ext.Provide
为了验证 api key ,我使用 ContainerRequestFilter 来读取 JSON 负载并解析 api key 。我有以下方法。 public ContainerRequest fil
我正在尝试在 Tomcat 8 中使用 RESTeasy 3.0.17FINAL 实现身份验证过滤器。这里有我的 web.xml 条目。 org.jboss.restea
我知道过滤器是用来处理请求的,并且可以用 http header 和 httpmethods 做一些事情,但是我很困惑 clientrequestfilter 和 containerrequestfi
我有一个 Jersey REST API 并且正在使用 ContainerRequestFilter 来处理授权。我还在所有端点上使用 @ManagedAsync,这样我的 API 就可以为数千个并发
我如何/应该如何将对象从 ContainerRequestFilter 传递到 (JAX-RS) Resteasy 版本 3.0.11 中的(匹配后)资源,该版本嵌入了 undertow 并使用了 G
我有点难以理解其余拦截器注释如何添加不同的值,这些值稍后会在过滤器中可见。鉴于下面的代码,我希望一旦进入过滤器,权限值就会包含 foo 和 bar,但它们是空的。任何帮助将不胜感激。 注释 packa
我正在使用 JAX-RS/Jersey 开发 WebService。 我设置了一个ContainerRequestFilter,其目的是验证用户。我只需要通过身份验证保护一些路径,其余的就可以提供给所
我有一个受 Shibboleth(SSO 实现)保护的 Jersey API。 Shibboleth 将登录用户的 ID 放入请求属性中。在后端,我使用 Shiro 进行授权。 Shiro 希望了解登
我正在尝试获取 ContainerRequestFilter 对象中的方法注释。 Controller : @GET @RolesAllowed("ADMIN") public String mess
我有这门课,想记录休息请求: public class RequestFilter implements ContainerRequestFilter { private static fin
我有下面的代码,它工作正常。我的问题是代码下面的天气是否是线程安全的。通过阅读 Servlet Filter 和 Container*Filter 概念,我感到困惑。 如何使这个过滤器成为线程安全的?
我是一名优秀的程序员,十分优秀!