1

OSGI ベースの Web サービス アプリケーションに Servicemix 4.2 を使用しています。私の Web サービス アプリケーションは、Servicemix で提供される CXF スタックを使用して公開されています。

ここで、アプリケーションを個別に開発された認証 API と統合する必要があります。サードパーティの API は、認証手段として JAAS を使用しています。

アプリケーションバンドルにサードパーティの jar を埋め込みました。export-package 命令を使用して LoginModule 実装クラスをエクスポートしました。

サードパーティが提供する jaas モジュールを使用しようとすると、Cannot create Login Context.No LoginModules configured for LoginModule というエラーが発生しました

サードパーティの jaas プロバイダは、システム プロパティ java.security.auth.login.config を使用して jaas.config ファイルの場所を見つけます。 jaas.config ファイルの内容は次のとおりです。

LoginModule { com.altair.aaservice.windowsauthn.hwec.WindowsAuthentication が必要です。};

グーグルで調べたところ、servicemix には jaas Apache Felix Karaf :: JAAS Modules (1.4.0) Apache Felix Karaf :: JAAS Config (1.4.0) の 2 つのシステム バンドルが用意されていることがわかりました。

また、jaas を実装するには、etc/users.properties ファイルなどを変更する必要があります。しかし、サードパーティの jaas プロバイダーと統合する必要があるため、これらの方法を調べることはできません。また、servicemix で提供されるドキュメントのほとんどは、servicemix の方法を使用して jaas を実装することを主張しているため、解決策を見つけることにあまり成功しませんでした。

2 つのシステム バンドルを手動でアンインストールした後、次のエラーが発生しました javax.security.auth.login.LoginException: LoginModule クラスが見つかりません: com.altair.aaservice.windowsauthn.hwec.WindowsAuthentication not found from bundle [org.apache. cxf.bundle]

私の Web サービスは CXF ベースであるため、このバンドルを探している可能性があります。

servicemix をカスタム jaas 実装と統合する便利な方法はありますか。ありましたら教えてください。

4

1 に答える 1

0

ここにカスタムJAASLoginModuleを作成する例があります。

于 2011-08-18T17:41:34.033 に答える