java - 如何在 Felix 请求过滤器中获取当前 Jackrabbit 用户?

标签 java servlet-filters jackrabbit apache-felix osgi-bundle

当请求过滤器进行过滤时,我需要获取当前的 jackrabbit/ session 用户。 我已经实现了过滤器类作为我的过去question

最佳答案

来自您的previous question我假设您正在使用 Apache Sling - 如果您遵循我的建议并使用 Sling-aware Filter ,您可以在过滤器的 doFilter(...) 方法中将请求转换为 SlingHttpServletRequest

然后,SlingHttpServletRequest 的 getResource() 方法提供当前的Resource,您可以将其适应 JCR Session 然后提供 Jackrabbit 用户。

类似于(示例中没有任何检查)

((SlingHttpServletRequest)request).getResource().getResourceResolver().adaptTo(Session.class)...

关于java - 如何在 Felix 请求过滤器中获取当前 Jackrabbit 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324484/

相关文章:

java - Servlet 过滤器和 OSGi HttpService

java - 如何在 JCR SQL2 查询中转义动态生成的字符串值?

java - 如何在eclipse中的web-inf中添加classes文件夹

Java:掷两个骰子直到得到想要的总和

java - 如何设置过滤器仅适用于内容类型 "html/text"?

java - 如何从 servlet 过滤器返回 HTTP 错误代码?

java - 什么是内容存储库中的工作空间?

metadata - 从 Magnolia jcr 中的 xpath-query 过滤 "MetaData"-节点

java - 在 DB2 中调用 Java 存储过程时出现错误 -4304

java - org.powermock.reflect.internal.WhiteboxImpl 对方法 java.lang.Object.clone() 的非法反射访问