こんにちは、Tomcat で組み込みの jackrabbit を使用しています。管理者ユーザーのデフォルトのパスワードを別のものに変更して、安全で安全なものにしたかったのです。
adminId を別の ID に更新する場所を repository.xml で確認しましたが、デフォルトではユーザー ID と同じパスワードが使用されます。誰でもパスワードを別のユーザーIDに設定するのを手伝うことができます。
ありがとうマニシャ
こんにちは、Tomcat で組み込みの jackrabbit を使用しています。管理者ユーザーのデフォルトのパスワードを別のものに変更して、安全で安全なものにしたかったのです。
adminId を別の ID に更新する場所を repository.xml で確認しましたが、デフォルトではユーザー ID と同じパスワードが使用されます。誰でもパスワードを別のユーザーIDに設定するのを手伝うことができます。
ありがとうマニシャ
私の知る限り、Jackarbbit で管理者パスワードを変更する簡単な方法はありません。DefaultLoginModule を使用する場合、パスワードは保護されたプロパティの「セキュリティ」ワークスペースに保存されるため、パスワードを変更することはできません。ただし、Java からJackrabbit ACL API メソッドを使用できます。次のような単純な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
https://cwiki.apache.org/confluence/display/SLING/FAQ
リンクから:
userManager の使用:
curl \
-F"oldPwd=admin" \
-F"newPwd=Fritz" \
-F"newPwdConfirm=Fritz" \
http://admin:admin@localhost:8080/system/userManager/user/admin.changePassword.html
また、Felix Web 管理コンソール (/system/console/configMgr) の「Apache Sling Embedded JCR Repository」の下にそのパスワードを設定する必要があります。これは、Sling がリポジトリへのフル アクセスを必要とするコンポーネントの管理 JCR セッションを作成するために (SlingRepository.loginAdministrative() を使用して) 使用します。
注: フレームワークを再起動した後にのみ、古いパスワードは無効になります (2010 年 9 月 11 日現在)。
注: Jackrabbit で使用されるログイン モジュールによっては、パスワードがまったくチェックされない場合があります (SimpleLoginModule、Jackrabbit の標準 <= 1.4)。Jackrabbit 1.5 以降、DefaultLoginModule は完全なユーザー サポートを提供します。