Jackrabbit リポジトリでユーザーを認証する LoginModule を作成しようとしています。ただし、リポジトリ自体に保存されている資格情報を確認したいと思います。したがって、問題は、LoginModule でリポジトリに再度接続する必要があり、無限ループになることです。それについて何かできることはありますか?
2 に答える
2 つの基本的なアプローチがあります。
LoginModule が構成されている Jackrabbit リポジトリへの管理者ログインを提供して、常にリポジトリに接続できるようにします。管理者ユーザーとして接続すると、提供された資格情報 (認証されている通常のユーザー用) を使用してリポジトリにクエリを実行し、それらを認証します。
または、すべてのユーザーに Jackrabbit ログインを設定してもらい、管理者ログインで接続する代わりに、提供された資格情報で接続を試み、接続すると、ユーザーは正常に接続されます (このアプローチでは、多くの場合、簡単なクエリを実行します)接続が有効であることを再確認します。たとえば、リポジトリでユーザーの実名を検索します)。
どちらの場合も、LoginModule には Jackrabbit に直接接続するコードを含める必要があり、LoginModule 自体をリポジトリに接続する必要はありません。
JeCARSプロジェクトには、カスタム LoginModule (org.jecars.CARS_LoginModule) があります。最初のアクセスにはハードコードされた管理者ユーザーが使用されます。レポジトリにはサーブレットのみがアクセスできるため、管理者ユーザーの外部使用を防ぐためにこの時点でチェックが実行されます。