Cosminexus システム構築ガイド

[目次][用語][索引][前へ][次へ]

10.8.2 server.policyの指定内容

server.policyにWebアプリケーションでLoginContextクラスを操作するためのアクセス権の設定が必要です。設定するアクセス権の詳細については,javax.security.auth.AuthPermissionクラスを参照してください。

また,カスタムログインモジュールやパスワード認証時の暗号拡張機能を使用する場合,各クラスを操作するために,アクセス権の設定が必要です。

次に,server.policyの定義例を示します。

この定義例では,LoginContextクラスをExampleという名前でインスタンス化可能にする権限,およびSubjectを参照するために必要な権限を示します(//addの部分について定義が必要です)。また,次に示すディレクトリ以下に格納されているすべてのクラス(codeBase "file:${cosminexus.home}/manager/modules/-"で指定)にすべての権限を与えることを示します。

実際に運用する際には,適切なコードソースとアクセス権を設定してください。

server.policyの例
 
grant codeBase "file:${ejbserver.http.root}/web/${ejbserver.serverName}/-" {
  permission java.lang.RuntimePermission "loadLibrary.*";
  permission java.lang.RuntimePermission "queuePrintJob";
  permission java.net.SocketPermission "*", "connect";
  permission java.io.FilePermission "<<ALL FILES>>", "read, write";
  permission java.util.PropertyPermission "*", "read";
  permission javax.security.auth.AuthPermission "getSubject"; //add
  permission javax.security.auth.AuthPermission "createLoginContext.*"; //add
};
grant codeBase "file:${cosminexus.home}/manager/modules/-" {
  permission java.security.AllPermission;
};