AEM 6.1環境では、Javaクラスでリソースリゾルバを取得するために非推奨のメソッドgetAdministrativeResourceResolver
を避けようとしています。AEMでシステムユーザとバンドルするユーザ名を取得できません
Iは、システムユーザーを作成し、右基準に適合する既存のシステムユーザ(REP SystemUser:authorizableId、JCR:UUID、担当者:principalnameと人口特性とJCR:primaryTypeプロパティは、担当者である)を使用し、私はApache Sling Service User Mapping Service
を構成
を
:getServiceResourceResolverメソッドにアクセスするコードをサービスマッピングorg...:modifyJCR=oauthservice
を有する(または対応するユーザは、私が試した)します0
BundleContext context = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
ServiceReference ref = context.getServiceReference(ResourceResolverFactory.class.getName());
resolverFactory = (ResourceResolverFactory) context.getService(ref);
Map<String, Object> param = new HashMap<String, Object>();
param.put(ResourceResolverFactory.SUBSERVICE, "modifyJCR");
resourceResolver = resolverFactory.getServiceResourceResolver(param);
はしかし、私はまだ私のコードからこのエラーを取得しています: Cannot derive user name for bundle org... [491] and sub service modifyJCR
誰が、まだサービスユーザーマッピングサービスを設定するとともに、システムのユーザーを使用して/行った後、このエラーに遭遇していますか?
コードを呼び出すユーザーがシステムユーザーを偽装する必要がありますか。 javaクラスはワークフローによって呼び出されるecmaスクリプトを介して呼び出され、adminとしてログインしています。複数のユーザーの管理者グループを偽装者として追加しようとしましたが、エラーが発生しました。
システムユーザに適切な権限を与えていますか? –
Sandeep、これは他の質問の重複ではありません。なぜなら私は全く同じソリューションを試しました。私はまた、正しいフォルダにアクセスするためにシステムユーザに適切な権限を与えました。まだログインエラーにぶつかっているので、ページを更新することさえありません。 – Lizzy
まあ、大丈夫です。これはおかしい。私が見ているのは、ECMAスクリプトを使って呼び出すことだけです。私たちはJava Workflow Processを使用していました。 –