问题标签 [jackrabbit-oak]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aem - AEM 的 JMX 控制台中 SessionStatistics 的含义
几天后,我的 AEM 服务器变得无响应并崩溃。根据这篇文章 - https://helpx.adobe.com/experience-manager/kb/check-and-analyze-if-JCR-session-leaks-in-your-AEM-instance.html,在检查http:// /localhost:4502/system/console/jmx我发现有超过 60,000 个 SessionStatistics 对象。我想知道这些代表什么?这些是活跃的会话吗?或者这是在 AEM 服务器上创建的所有会话的列表?
jcr - How to create new Principal Object using Jackrabbit/JCR
I'm a new developer trying to tackle the Jackrabbit/JCR library. My team and I have been using the EveryonePrincipal for a couple of months now, but we've been wanting to implement more capabilities per user roles/principals so we can grant them necessary read/write access to each node. However, we're having some difficulties figuring out how to create a new Principal object.
I've been using:
PrincipalImpl newPrincipal = new PrincipalImpl("MyPrincipal");
Then creating a new RolePrincipal class matching the EveryonePrincipal, except the name would be "MyPrincipal" inside the RolePrincipal class. This method doesn't work unfortunately. Is there anything else we're missing from this? And how does the 'everyone' principal gets stored?
EveryonePrincipal.java
rdbms - 如何设置 Apache Sling 以使用关系数据库
我在使用 Jackrabbit Oak 作为内容存储库的 Sling 11。我想知道如何设置 Sling 以将 JCR 存储库存储在 RDBMS(具体为 DB2)上。
我在Jackrabbit Persistence上找到了这个链接,但看起来它不适用于 Oak 并且 Oak 文档主要是关于 MongoDB 的。
还找到了Cassandra Resource Provider的实现,尽管它似乎旨在访问映射到 Cassandra 的特定路径而不使用 Oak。
谢谢,
jcr - JCR 用户登录失败
我正在使用 JCR 和 Jackrabbit Oak 实现。我想使用以下代码与管理员用户进行会话:
但在返回会话中,参数为空,例如 accessControlManager 和 userManager。
我的 JCR 配置:
我可以用管理员用户登录吗?否则我可以创建一个新用户吗?
java - 使用 API 将大文件上传到 JackRabbit 存储库
我们配置了 JackRabbit 存储库来存储文件和其他文件操作。在这里,我们尝试将大文件上传到JackRabbit Repository
using CreateDocumentFromFilePath API
. 它抛出错误消息"com.rovicorp.jackrabbit.exception.JackrabbitException: JE_00002/nShort Message:::Exception from Jackrabbit Repository"
。
我们尝试上传文件少于30MB
,它工作正常。但是,如果我们超出此范围,则会引发错误消息。
我们进一步调试了这个问题,我们看到以下错误消息:
我们在互联网上阅读并需要配置Repository.xml
文件以获取上传文件的最大大小。我们无法弄清楚如何在Repository.xml
. 附上屏幕截图的错误消息。
我们想使用CreateDocumentFromFilePath API
.
你能帮助我们解决这个问题吗?
提前致谢
java - 如何使 Jackrabbit WebDAV servlet 允许使用 Microsoft Word 进行编辑?
我正在尝试通过 servlet 公开 Jackrabbit Oak 存储库。虽然我能够.docx
使用 LibreOffice Writer 成功检索和编辑文件,但 Microsoft Word 不起作用。
我正在使用:
- Jackrabbit Oak 版本 1.8.4
- Jackrabbit 版本 2.17.5
- LibreOffice Writer 版本 6.1.3.2
Word 不工作的版本是:
- 版本 1708
- 微软 Office 365 专业增强版。
我通过使用打开的文档对话框并在两个编辑器中类似地访问文档并输入http://localhost:8080/helloworld-singleton/repository/default/test.docx
我已经设置了一个简单的 servlet,OpenSecurityProvider
它公开了一个存储库,该存储库复制了一个简单的 .docx 文档的本地副本:
此 servlet 通过以下方式配置web.xml
:
使用此代码,我希望我能够在 Word 中打开文档,对其进行编辑,并将更改保存到服务器 - 就像在 LibreOffice Writer 中一样。
与 Word 不同,文档以受保护的视图打开,尝试保存更改时,只会提示您保存它的本地副本。
我尝试为另一个 JCR Implementation ModeShape 制作一个类似的 servlet,并且在那里通过 Word 持久化文档没有遇到任何问题。
作为在 Jackrabbit 内部调试时可能的解释,编辑器之间的一个显着区别是 LibreOffice Writernull
在Authorization
标头中发送,而 WordBearer
在其Authorization
几个请求的标头中发送。所有这些请求都将被忽略,因为org.apache.jackrabbit.webdav.DavException: Unable to decode authorization.
有谁知道为什么 Word 在这种情况下不能按预期工作?
java - 如何在 Oak 存储中实现文档风味?
我是 jackrabbit Oak 的新手,我一直在研究文档但没有找到正确的方法,我读到 Oak 带有两种节点存储风格:段和文档。我知道段风味是针对独立应用程序的,所以我想实现文档风味实现而不是 MongoDB 或 RDS,我想使用 MemoryDocumentStore 将文件保存在文件系统中,我假设使用 MemoryDocumentStore 我将能够将文件保存在文件系统中并检索,我不确定我是否正确?
段和文档实现之间有什么区别,我如何在 Oak 中看到树?
security - 向 ACL 添加限制会在 Jackrabbit Oak 中的查询产生空结果
使用 Jackrabbit Oak,我一直在尝试通过SecurityProvider
和SecurityConfiguration
s 配置安全性。特别是,我一直在使用通常按预期工作的限制。但是,在处理JCR-SQL2
查询时,过滤掉的内容比预期的要多。
细节
可以使用下面的存储库复制它。
在 上node
,我添加了一个具有权限的访问控制条目以及JCR_ALL
- >user
的限制,这样就无法访问.rep:glob
""
user
node
使用时按预期工作session.getNode
:
session.getNode("/node")
返回节点session.getNode("/node/subnode")
PathNotFoundException
由于限制,按预期抛出。
但是,当我执行以下JCR-SQL2
查询时:
我没有得到任何结果。在这里我会期望得到/node
,因为它在使用时是可用的session.getNode
。
代码
如果restrictions
要从上面的代码中删除一个,则node
和都会subnode
按预期出现在查询结果中。
MySecurityProvider
使用ConfigurationParameters.EMPTY
和所有SecurityConfiguration
s的默认实现,除了AuthenticationConfiguration
我自己实现的:
我正在使用 Jackrabbit Oak 1.10.0 版
encryption - 使用 PBKDF2 在 Jackrabbit OAK 中存储密码哈希
我们正在将基于 Sling 6 和 Jackrabbit 构建的应用程序迁移到 Sling 10 和 Oak。我们使用的是 Oak 1.6.8,这是示例 sling 10 应用程序中使用的版本。我们之前构建了自己的身份验证器和登录插件来使用 CryptedSimpleCredentials 并在 JCR 中保持密码加密。看起来这已经是 Oak 中使用 CredentialsImpl 的标准了。我正在尝试确定我们是否可以删除我们的自定义代码并正确配置 Oak。我已经使用以下值设置了 UserConfigurationImpl.config:
我从 org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil.generatePBKDF2(...) 中的评论中获取了 HashAlgorithm 密钥。在 PasswordUtil 中的代码之后,PBKDF2 前缀将使用密钥生成摘要。
单步执行代码,我可以看到在 org.apache.jackrabbit.oak.security.user.UserInitializer.Initialize(...) 期间创建了管理员用户 (:139)。为密码创建的散列使用上述方法并生成带有盐和迭代的散列:
但是,当尝试使用管理员用户登录时,它无法验证用户身份。PasswordUtil.isSame() 在调用 extractAlgorithm(hashedPwd) 时无法识别算法,因为 message.digest("PBKDF2WithHmacSHA256") 无效。
我无法找到任何其他人寻求有关此主题的帮助,这使我相信也许我有一个我看不到的基本误解。任何和所有的帮助将不胜感激。
mongodb - 为什么 Jackrabbit 全文查询不起作用?
我尝试使用 jcr jackrabbit Oak、mongoDb 和查询。
首先我在存储库中添加了一些文件。
现在我想使用全文搜索。
当我使用查询时:
来自日志:2019-02-28 15:11:50.959 INFO 63248 --- [nio-8080-exec-5] cerservice.DocumentManagementService:大小节点 8
所以当我尝试使用如下查询时:
cerservice.DocumentManagementService:大小节点 0
我确定每个文件都有一个单词“插入”。
我做错了什么?
非常感谢
所以我还创建了索引 lucene :
节点大小为0。
伙计们请帮助我:)