カスタム認証によるアクセス保護

また、JRun は EJB のカスタム認証のみをサポートします。既定では、このメカニズムによって、サーバーの user.properties (統合 J2EE アプリケーション サーバー) または deploy.properties (スタンドアロン EJB エンジン) ファイルに指定されたユーザ名とパスワードが認証されます。

このメカニズムを拡張して、サイトまたはアプリケーション固有の認証を行うことができます。詳細については、"ロードされたユーザおよびロール"と EJB サンプル 2b を参照してください。

カスタム認証メソッドを使用して認証済みコンテキストを作成するには、クライアントは次のプロパティを持つ Properties オブジェクトを作成する必要があります。
プロパティ
Context.INITIAL_CONTEXT_FACTORY
allaire.ejipt.ContextFactor
Context.PROVIDER_URL
ejipt://targetserver:targetportnumber
Context.SECURITY_PRINCIPAL
ユーザ名
Context.SECURITY_CREDENTIALS
パスワード

次のようなコードを使用して、Properties オブジェクトをInitialContext コンストラクタに渡します。

...
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
  "allaire.ejipt.ContextFactory");
properties.setProperty(Context.PROVIDER_URL, 
  "ejipt://targetserver:targetportnumber");
properties.setProperty(Context.SECURITY_PRINCIPAL, username);
properties.setProperty(Context.SECURITY_CREDENTIALS, password);
Context context = new InitialContext(properties);

"Web 認証を通じたアクセス保護"に示すように、クライアントは、ホーム インターフェイスへの参照を検索することによって引き続きリモート インターフェイスへの参照にアクセスし、ビジネス メソッドを呼び出します。

カスタム認証を使用する EJB にサーブレットや JSP がアクセスするときは、次のように、1 つの要求 (要求ログイン) または 1 つのセッション (セッション ログイン) としてログインできます。

カスタム認証環境でのセッション ログインの例については、EJB サンプル 9a を参照してください。