내가 에마의 방법을 시도하고, 또한이 게시물의 지침 중 일부를 따랐습니다 : http://jackrabbit.510166.n4.nabble.com/Doubt-with-username-and-password-td3173401.html
아무 것도 효과가 없었습니다. jcr 도구는 모두 : SPT JCR Manager, jackrabbitexplorer, Toromiro, JCR Explorer 또는 phpcr-browser이 아닙니다.
My Jackrabbit webapp (3.0-SNAPSHOT)은 tomcat7에 배포되며 aws는 데이터 저장소로, derby는 지속성 관리자로 배포됩니다.
몇 시간 동안 고민 후, 나를 위해 일한 유일한 해결책은 이전에 웹 응용 프로그램 루트에 배치이 간단한 JSP 파일을 호출했다 : 에마의 대답은, 유일한 방법은 비슷하지만
<%@ page import="org.apache.jackrabbit.api.JackrabbitSession,
org.apache.jackrabbit.api.security.user.Authorizable,
org.apache.jackrabbit.api.security.user.User,
org.apache.jackrabbit.api.security.user.UserManager,
org.apache.jackrabbit.core.TransientRepository,
javax.jcr.Repository,
javax.jcr.Session,
javax.jcr.SimpleCredentials,
java.io.File,
org.apache.jackrabbit.commons.JcrUtils,
org.apache.jackrabbit.j2ee.RepositoryAccessServlet"
%>
<%
Repository repository;
try {
repository = RepositoryAccessServlet.getRepository(pageContext.getServletContext());
Session jackrabbitSession = repository.login(new SimpleCredentials("admin", "oldpass".toCharArray()));
UserManager userManager = ((JackrabbitSession) jackrabbitSession).getUserManager();
Authorizable authorizable = userManager.getAuthorizable("admin");
((User) authorizable).changePassword("newpass");
jackrabbitSession.save();
jackrabbitSession.logout();
} catch (Throwable e) {
%><jsp:forward page="bootstrap/error.jsp"/><%
}
request.setAttribute("title", "Apache Jackrabbit JCR Server");
%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
를 I org.apache.jackrabbit.j2ee.RepositoryAccessServlet
을 사용하여 저장소를 검색하는 현재 관리자 비밀번호를 실제로 변경할 수 있습니다.
질문은 jackrabbit 전용이며, 아파치 슬링이 아닙니다. – lisak