嗨,我使用嵌入式长耳大兔与tomcat.我想将admin用户的默认密码更改为其他内容,以确保其安全性和安全性.
我在repository.xml中看到将adminId更新为不同的id,但默认情况下它使用与用户id相同的密码.所以任何人都可以帮助设置不同用户ID的密码.
谢谢
MANISHA
据我所知,在Jackarbbit中没有简单的方法来更改管理员密码.使用DefaultLoginModule时,密码存储在受保护属性的“安全”工作空间中,因此您无法更改它们.但您可以使用
Java中的
Jackrabbit ACL API methods.
我能够用一个简单的java类更改密码,如下所示:
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.core.TransientRepository;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import java.io.File;
public class Main {
public static void main(String[] args) {
Repository repository = new TransientRepository(new File("path_to_jackrabbit_home_dir"));
try {
Session session = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
UserManager userManager = ((JackrabbitSession) session).getUserManager();
Authorizable authorizable = userManager.getAuthorizable("admin");
((User) authorizable).changePassword("newpassword");
session.save();
session.logout();
} catch (RepositoryException e) {
System.out.println("Auth error.");
e.printStackTrace();
}
}
}
另见:http://jackrabbit.510166.n4.nabble.com/Doubt-with-username-and-password-td3173401.html