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}}