ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     jCOM リファレンス   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

セキュリティ/認証

 

この章は、以下の 4 つの節に分かれています。

 


WebLogic Server での JNDI を使用した認証

クライアント アプリケーションがセキュリティ資格(ユーザ名とパスワードなど)を提供し、JNDI 認証を使用して WLS でアクセスを認証するためにそれらが使用される場合、次のことを行う必要があります。

  1. jCOM ブリッジで JNDI 認証を有効にします。

    jCOM ブリッジは、COM クライアント(Excel など)が WebLogic Server でホストされる EJB にアクセスすることを許可します。JNDI 認証を提供するには、InitialContext を呼び出す前に適切なプロパティを追加する必要があります。

    Context.SECURITY_AUTHENTICATION
    Context.SECURITY_PRINCIPAL
    Context.SECURITY_CREDENTIALS

    WebLogic jCOM サンプルに付属の jCOM ブリッジ(c:\bea\wlserver6.1\jcom\samples\JCOMBridge.java など)を見てください。上の 3 行のコードのコメントを login メソッドで解除します。

  2. クライアント アプリケーションでユーザ名とパスワードを使用または取得します。

    VBA の場合は次のようにします。

    'jCOM ブリッジにアクセスする (jCOM ファイルにはアクセスしない)
    Set objBridge = GetObject("objref:...:")

    'JNDI 認証用のユーザ名とパスワードを設定する
    Dim bridge As Object
    Set bridge = objBridge.get("ejb:JCOMBridge")
    bridge.login "newUsername", "newPassword"

    'JNDI を介して EJB AccountHome オブジェクトをバインド
    Set mobjHome = objBridge.get("ejb:beanManaged.AccountHome")

    WebLogic Server での JNDI 認証については、次の URL を参照してください。
    http://edocs.beasys.co.jp/e-docs/wls61/security/prog.html#1024165

 


COM コンポーネントにアクセスする Java クライアントの認証

WebLogic jCOM では、認証をまったく使用しないか、接続レベル認証を使用して Java から COM コンポーネントにアクセスできます。

Windows での Java コードの実行

Windows で実行し、WebLogic jCOM で現在のアイデンティティを自動的に取得する場合、WebLogic jCOM bin ディレクトリを PATH 環境変数に追加します。

Windows 以外のプラットフォームでの Java コードの実行

Windows で実行しない場合、または WebLogic jCOM でネイティブ コードを使用して現在のアイデンティティを取得しない場合、プログラムの開始時に AuthInfo.setDefault(...) を呼び出して、COM コンポーネントの作成および使用時にプロセス ワイド ベースで使用する認証を設定します。

このプロセスワイドのデフォルトは、AuthInfo.setThreadDefault(...) を使用して上書きできます。これは、現在のスレッドに使用される認証を確立します。現在のスレッド用の認証を削除するには、AuthInfo.setThreadDefault(null) を呼び出します。

AuthInfo.setDefault(...) を呼び出して JVM ワイドベースで使用される認証を確立することをお勧めします。これにより、WebLogic jCOM デーモン スレッドは認証された通信を実行できるようになります(ガベージ コレクションされていない COM オブジェクト参照を解放する場合など)。

WebLogic jCOM は、現時点では認証のみをサポートしており、暗号化はサポートしていません。暗号化を追加したい場合は、BEA にお問い合わせください。

認証アクセスの実行の検証

Windows NT では、認証アクセスが実行されていることを認証できます。

User Manager for Domains ツールを使用します。そのためには、[スタート|プログラミング|管理ツール|ドメイン ユーザ マネージャ] を選択し、次に [原則|監査] を選択して [監査の原則] ダイアログを表示します。

ここから、ログインとログオフの監査を有効にできます。


 

監査を有効にしたら、イベント ビューアを起動します。そのためには、[スタート|プログラミング|管理ツール|イベント ビューア] を選択し、[ログ|セキュリティ] を選択してセキュリティ ログを表示します。

WebLogic jCOM は、実行されているホスト名を送信します。このホスト名には (jCOM) という文字列が付けられ、ワークステーション名としてログに記録されます。

 


Java コードを呼び出す COM クライアントのアイデンティティの識別

COM クライアントが WebLogic jCOM の DCOM エンジンを介して Java オブジェクトのメソッドを呼び出す場合、次のものを呼び出すことができます。

 


pure Java ソフトウェアからの NT ドメイン/ユーザ/パスワードの認証

UNIX マシン(または任意の場所)で動作する Java プログラムからのドメイン/ユーザ/パスワードを認証するには、静的な com.bea.jcom.NTLMAuthenticate.validate(...) メソッドを使用します。

これはこのメソッドに関連する Javadoc です。

public static void validate(String pdcTcpHost,
String domain,
String user,
String password) throws IOException

NT ドメイン/ユーザ/パスワードを認証します。Java をサポートする任意のマシンで動作し、ネイティブ コードを必要としません(jcom.jar ランタイムのみ)。パスワードはネットワーク上で転送されません(WebLogic jCOM が NT Challenge-Response メカニズムを実装します)。ドメイン/ユーザ/パスワードが有効な場合は単にこのメソッドが返され、それ以外の場合はセキュリティ例外が送出されます。

パラメータ :
pdcTcpHost − WebLogic jCOM が認証を実行できる NT マシンの IP 名
domain − ユーザの NT ドメイン名
user − ユーザの NT ユーザ名
password − ユーザのパスワード

例外 : SecurityException
ドメイン/ユーザ/パスワードが正確でない場合

例外 : IOException
認証の対象となる NT マシンとの対話に問題が存在した場合

注意: このメソッドは WebLogic jCOM pure Java-COM ブリッジとはまったく関係がなく、WebLogic jCOM を使用して Java から COM オブジェクトに(またはその反対に)アクセスするときにこのメソッドを呼び出す必要はありません。

DCOM エンジンの一部として pure Java で NT Challenge-Response メカニズムを実装しているので、このメソッドを公開するのはささいなことですが、役に立つ場合もあります。

 


COM クライアントからの新しい接続のリスン

このメカニズムは、ネイティブ モードで実行中のときには実装されません。

WebLogic jCOM の ConnectionListener メカニズムにより、COM クライアントからの新しい COM 接続がオープンまたはクローズするときに通知が行われるように要求し、受け取った接続を拒否できます。

com.bea.jcom.ConnectionListener インタフェースを実装するクラスを作成し、com.bea.jcom.Cleaner.addConnectionListener(...) を呼び出すことによってそのクラスのインスタンスを登録します。

 

back to top previous page next page