トップ 一覧 置換 検索 ヘルプ RSS ログイン

セキュリティポリシーの設定の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://msugai.fc2web.com/java/security/digest.html
http://www.ne.jp/asahi/hishidama/home/tech/java/security.html

!!セキュリティーポリシーファイル
!デフォルトで読み込まれるポリシーファイル
デフォルトで以下のポリシーファイルが読み込まれる
 ${java.home}/lib/security/java.policy
 ${user.home}/.java.policy
これらは、 JRE以下の lib/security/java.security に書かれている

!ポリシーファイルを指定する場合
 java -Djava.security.manager -Djava.security.policy=ポリシーファイル 実行対象クラス
でポリシーファイルを指定できる。

!!ポリシーファイルの書き方
 grant { 
 	permission 〜許可する権限〜 ;
 };
な感じ。

grant の後にコードベースを指定する事が出来る。
 grant { 〜 };			←全てに対しての権限許可
 grant codeBase "URL" { 〜 };	←特定のコードベースに対しての権限許可

コードベースとは、ロードされるクラスの元となった場所。
指定するのはあくまで「コードベース」、つまり各パッケージのルートディレクトリーに相当する部分のみ。パッケージ毎・個別のクラス毎に指定することは出来ない。
URLとしての指定なので、Windowsであってもスラッシュ「/」で区切る。
また、「*」や「-」をワイルドカードとして使用できる。

,codeBaseの指定例  ,該当するクラスの例  ,説明
,file:C:/workspace/- ,C:\workspace\配下のクラス{{br}}C:\workspace\sample1\classes配下のクラス{{br}}C:\workspace\sample2\classes配下のクラス{{br}}C:\workspace\hoge.jar内のクラス{{br}}C:\workspace\sample1\bin\hoge.jar内のクラス ,末尾が「/-」の場合、{{br}}サブディレクトリーまで再帰的に含めた全ての{{br}}classファイル及びjarファイル。
,file:C:/workspace/* ,C:\workspace\配下のクラス{{br}}C:\workspace\hoge.jar内のクラス ,末尾が「/*」の場合、その場所の{{br}}classファイル及びjarファイル。
,file:C:/workspace/ ,C:\workspace\配下のクラス ,末尾が「/」の場合、その場所の{{br}}classファイル。

!!サンプル
!とりあえず、全許可
 grant {
 	permission java.security.AllPermission;	←全権限を許可
 };

!とりあえず、codeベース指定して全許可
grant codeBase "file:C:/workspace/sample/classes/"{
 	permission java.security.AllPermission;	←全権限を許可
 };

{{category2 プログラミング言語,Java}}