Welcome to Bishnu`s JINI Tutorial

home      introduction       My Interest   My Favorites link      Photo gallery

 

JavaのJAAS API

前回の解説では、Helloをベースに新しいサービスをどのように作成していくのかについて説明しました。今回はJINIのサービスを作成するにあたって、最も重要なセキュリティについてどんな手続きをするのかについて説明したいと思います。 JINIではJAASユーザを「認証する」際、及び、ユーザを「承認する」際、JAAS APIを利用しています。 JAAS は、Java バージョンの標準 Pluggable Authentication Module (PAM) フレームワークを実装します。 詳細については、Java Security を参照してください。 さて、本チュートリアルを勉強した人は、今までのサンプルみて気づいてたと思いますが、Jiniのサービスやクライントプログラムの先頭部分にはJAASのAPIを利用したソースコードが記載されています。 この章ではそのようなJAASのソースコードを有る程度理解していくのに、シンプルなプログラムの解説をしたいと思います。 あなたのアプリケーションからJAAS認証を使用するためには、、以下のステップが必要になります::
  1. LoginContextの作成。
  2. 認証データを処理するために、CallbackHandlerをLoginContextに渡す。
  3. LoginContextのlogin()をメソッドと呼ぶことによって、認証を実行させる。
  4. 返されたSubjectを使用して、Previleged Actionを実行する。
上記のステップをプルグラムの中でどのように実装されているのかを確認するため以下の3個のサンプルファイルを用意してください:
  • SampleAcn.javaはサンプルアプリケーションのクラス(SampleAcn)とユーザ入力を扱うのに使用される。もう一つのクラス(MyCallbackHandler)もそれに含まれます。 このファイルの中のコードはこのチュートリアルを理解するために必要とする唯一のコードです。
  • SampleLoginModule.javaは必要な基本的な認証を実装するクラスとしてチュートリアルのlogin Config ファイルによって指定されたクラスです。 ユーザによって指定された名前とパスワード が特定の値を持っているのを単に確かめるのからSampleLoginModuleのユーザー認証は成ります。
  • SamplePrincipal.javaはjava.security.Principalインタフェースを実装するサンプルのクラスです。 それはSampleLoginModuleによって使用されます。 このチュートリアルのためのコードは3個のファイルから成ります:







クライントプログラムではJavaEditorServiceInterfaceに記載されているJFrame getJavaEditor()メソッドを呼び出しています。

変更したプログラムをコンパイルする

cd %JINI_HOME%\source\src\com\sun\jini\example\cal

  • ant clean
  • ant
  • ant this.jars
  • コンパイルが終了したら、プログラムを実行してみましょう。

    Steps

    1. クラスサーバー(Htttp Server)を動かす

    cd %JINI_HOME%\source\src\com\sun\jini\example\cal
    start scripts\httpd.bat (これはCommand promptで動かす)うまくいったら以下のようながめんが出ます。

    2. 以下のコマンドを順番に打ってください。

    (これも%JINI_HOME%\source\src\com\sun\jini\example\calのところで動かすこと)
  • a. start scripts\jrmp-reggie

  • b. start scripts\jrmp-server(JavaEditorServiceぷろぐらむのサーバー)

  • c. start scripts\client (クライントの起動)
  • うまくいったら変更したサービスを利用することができると思います。

    以上で変更したJavaEditorServiceのプログラムを動かすことが完了します

     http://www.wakhok.ac.jp/~gautam
    page design by Gautam
    send comments to gautam@wakhok.ac.jp