我正在开发一款带有WCMS的apache吊带。我想导出安全内容(用户和组) 到一个xml文件。
我使用了以下代码,但有一个例外:
OutputStream output = new FileOutputStream("d:\\bk.xml");
session.exportSystemView("/rep:security", output, false, false);
output.flush();
output.close();
这里有例外:
javax.jcr.PathNotFoundException: /rep:security
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:545)
at org.apache.jackrabbit.core.SessionImpl.getItem(SessionImpl.java:876)
at org.apache.jackrabbit.commons.AbstractSession.export(AbstractSession.
java:541)
at org.apache.jackrabbit.commons.AbstractSession.exportDocumentView(Abst
ractSession.java:237)
at org.apache.jackrabbit.commons.AbstractSession.exportDocumentView(Abst
ractSession.java:279)....
这是导出用户和群组的真实方式吗?
感谢任何帮助。
答案 0 :(得分:2)
我发现在rep:security
所在的地方我被忽略了。 rep:security
位于存储库的security
工作空间中,因此如果我想导出它的内容,我应该先登录安全工作区。
我更正了以下代码,可以导出rep:security:
Session securitySession = session.getRepository().login(new SimpleCredentials("admin", "XXX".toCharArray()), "security");
OutputStream output = new FileOutputStream("d:\\bk.xml");
securitySession.exportSystemView("/rep:security", output, false, false);
output.flush();
output.close();