EJBリクエスト証明書へのアクセス

Javaとの連携 > J2EEとの連携

EJBメソッドを起動するユーザやアプリケーションのEJBリクエスト証明書は、  Javaオブジェクト(java.security.Principal クラス)を送信することでMagicアプリケーションサーバに渡されます。 この情報を送信しない場合は、EJBをデプロイする前にEJB のDD のPropagatePrincipal 環境の指定を「false」に設定してください。

証明書情報にアクセスするには、オブジェクトへのJava参照を保存するためのBLOB変数を定義して、以下の式で更新する必要があります。

GetParam('EJB_PRINCIPAL')

主要な情報が「java.security.Principal」のようにシリアライズされたオブジェクトに保存されている場合、Java参照は、JavaのStringオブジェクトへのリファレンスであり、その値はユーザ名となります。

主要な情報が、シリアライズされたオブジェクトに保存されていない場合、Java参照はjavax.security.auth.kerberos.KerberosPrincipalまたはjavax.security.auth.x500.X500Principalなどのjava.security.Principalを実装したクラスからJavaオブジェクトになります。

主要な名前にアクセスするために、JCall関数を使用して getNameメソッドを呼び出すことができます。例えば、以下の関数を実行することで<alpha variable> を更新することができます。

JCall(<Java ref var>,'getName','()Ljava/lang/String;')

Java参照が特定のクラスと関連性があるかどうかを確認するには、JInstanceOf関数を使用することができます。例えば以下のように指定します。

JInstanceOf(<Java ref var>,' javax.security.auth.kerberos.KerberosPrincipal')