next up previous
: RMIを用いた分散オブジェクトプログラムの作成と実行 : セキュリティ : セキュリティポリシーの設定

RMIで必要なセキュリティポリシー

RMIでは,サーバ側のプログラムでは accept, connect, resolve の3つのアクションに許可が,クライアント側のプログラムでは connect, resolve の2つのアクションに許可が必要である. よって,例えばサーバ側のプログラムでは,以下のように書いたファイルを実行時に指定 すれば良い.




\begin{boxedminipage}{13.7cm}
\begin{alltt}
\relax{}
\\ grant \{
\\ permission ...
... ''accept,connect,resolve'';
\\ \};
\\
\\ \relax \end{alltt}\end{boxedminipage}



もし適切なポリシーが指定されていない場合には以下のような例外が発生する.




\begin{boxedminipage}{13.7cm}
\begin{alltt}
\relax{} % java Server\,\fbox {Enter...
...nit>(Socket.java:290)
\\ (以下略)
\\
\\ \relax \end{alltt}\end{boxedminipage}



この時,下線部を見ると,このプログラムの実行に必要なポリシーを知ることができる. この例では「IPアドレス127.0.0.1の計算機のポート番号4675acceptresolveの許可」が必要なことが分かる. この場合にはポリシーファイルに以下の行を追加してやれば良い. ちなみにlocalhostはIPアドレス127.0.0.1に対応する特殊な計算機名であ る.




\begin{boxedminipage}{13.7cm}
\begin{alltt}
\relax{}
\\ grant \{
\\ permission ...
...:4675'', ''accept,resolve'';
\\ \};
\\
\\ \relax \end{alltt}\end{boxedminipage}



U-GM\murao 平成14年7月12日