Common Object Request Broker Architecture (CORBA) プログラマチック・ログインの Java Authentication and Authorization Service (JAAS) へのマイグレーション
このトピックは、CORBA ベースのプログラマチック・ログイン API を用いたプログラマチック・ログインの実行方法の例として使用します。
始める前に
ここでは、非推奨の Common Object Request Broker Architecture (CORBA) プログラマチック・ログイン API、および JAAS の提供する
代替手段について概説します。WebSphere® Application
Server は、Java™ Authentication and Authorization Service
(JAAS) をプログラマチック・ログインのアプリケーション・プログラミング・インターフェース (API) として完全にサポートします。
JAAS サポートの詳細については、
Java Authentication and Authorization Service のプログラマチック・ログインの構成およびJava Authentication and Authorization Service によるプログラマチック・ログインの開発を参照してください。
Common Object Request Broker Architecture (CORBA) アプリケーション・プログラミング・インターフェース (API) は、WebSphere Application Server for z/OS® 環境ではサポートされません。
別の WebSphere Application Server 製品から WebSphere Application Server for z/OS へ移植するアプリケーションがある場合、セキュリティー API は、バージョン 6.0.x では非推奨であることに注意してください。
これらのアプリケーションを WebSphere Application Server for z/OS バージョン 8.0 で
使用する場合、Java 認証・承認サービス (JAAS) へのマイグレーションが必要です。
${user.install.root}/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/LoginHelper.java
${user.install.root}/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/ServerSideAuthenticator.java
profile_root/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/ServerSideAuthenticator.java.
org.omg.SecurityLevel2.Credentials。 この API は製品に組み込まれていますが、API の使用は推奨されていません。
WebSphere Application Server で提供される API は、標準 JAAS API と標準 JAAS インターフェースの製品実装の組み合わせです。
WebSphere Application Server for z/OS で提供されるサポート API は、標準 JAAS API と、一部のマイナーな拡張機能を含む標準 JAAS インターフェースの製品実装の組み合わせです。
次に示すのは要約のみです。 詳しくは、ご使用のプラットフォーム用の JAAS 資料 (http://www.ibm.com/developerworks/java/jdk/security/) を参照してください。
- プログラマチック・ログイン API は、以下のとおりです。
- javax.security.auth.login.LoginContext
- javax.security.auth.callback.CallbackHandler interface: WebSphere Application
Server 製品は、javax.security.auth.callback.CallbackHandler インターフェースの以下の実装を提供します。
- com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl
- アプリケーションが、基本認証データ (ユーザー ID、パスワード、 およびセキュリティー・レルム) またはトークン・データを製品ログイン・モジュールにプッシュするときに、 非プロンプトの CallbackHandler ハンドラーを提供します。この API は、 サーバー・サイド・ログインの場合に推奨されます。
com.ibm.websphere.security.auth.callback.WSGUICallbackHandlerImpl
基本認証データ (ユーザー ID、パスワード、およびセキュリティー・レルム) を 集めるためのログイン・プロンプト CallbackHandler ハンドラーを提供します。この API は、クライアント・サイド・ログインの場合に推奨されます。
この API がサーバー・サイドで使用されると、サーバーからの入力は妨害されます。
- com.ibm.websphere.security.auth.callback.WSStdinCallbackHandlerImpl
- 基本認証データ (ユーザー ID、パスワード、およびセキュリティー・レルム) を集めるための
標準入力ログイン・プロンプト CallbackHandler ハンドラーを提供します。この API は、クライアント・サイド・ログインの場合に推奨されます。注: この API がサーバー・サイドで使用されると、サーバーからの入力は妨害されます。
- javax.security.auth.callback.Callback インターフェースは、以下のとおりです。
- javax.security.auth.callback.NameCallback
- ユーザー名を LoginModules インターフェースに渡すために JAAS によって提供されます。
- javax.security.auth.callback.PasswordCallback
- パスワードを LoginModules インターフェースに渡すために JAAS によって提供されます。
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl
- トークン・ベースのログインを行うため、製品により提供されます。この API により、アプリケーションはトークン・バイト配列を LoginModules インターフェースに渡すことができます。
- javax.security.auth.spi.LoginModule interface
WebSphere Application Server は、クライアントおよびサーバー・サイド・ログインに LoginModules 実装を提供します。詳しくは、 Java Authentication and Authorization Service のプログラマチック・ログインの構成を参照してください。
- javax.security.Subject は、以下のとおりです。
com.ibm.websphere.security.auth.WSSubject
製品によって提供される拡張機能であり、javax.security.Subject 内のクレデンシャルを使用して リモート J2EE リソースを呼び出します。
com.ibm.websphere.security.auth.WSSubject
製品によって提供される拡張機能であり、javax.security.Subject 内のクレデンシャルを使用して リモート J2EE リソースを呼び出します。
アプリケーションは、WebSphere Application Server ログイン・モジュールの明示的な呼び出しにより生成されるサブジェクトを使用して、J2EE リソース・アクセスの WSSubject.doAs メソッドを呼び出す必要があります。
- com.ibm.websphere.security.cred.WSCredential
- WebSphere Application Server LoginModules インターフェースを使用して JAAS ログインが成功した後、com.ibm.websphere.security.cred.WSCredential クレデンシャルが作成されてサブジェクト内に保管されます。
- com.ibm.websphere.security.auth.WSPrincipal
- 認証済みプリンシパルであり、作成された後、WebSphere Application Server LoginModules インターフェースによって認証される Subject 内に保管されます。