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\配下のクラス C:\workspace\sample1\classes配下のクラス C:\workspace\sample2\classes配下のクラス C:\workspace\hoge.jar内のクラス C:\workspace\sample1\bin\hoge.jar内のクラス |
末尾が「/-」の場合、 サブディレクトリーまで再帰的に含めた全ての classファイル及びjarファイル。 |
file:C:/workspace/* | C:\workspace\配下のクラス C:\workspace\hoge.jar内のクラス |
末尾が「/*」の場合、その場所の classファイル及びjarファイル。 |
file:C:/workspace/ | C:\workspace\配下のクラス | 末尾が「/」の場合、その場所の classファイル。 |
サンプル
とりあえず、全許可
grant { permission java.security.AllPermission; ←全権限を許可 };
とりあえず、codeベース指定して全許可
grant codeBase "不正なリンクです。
permission java.security.AllPermission; ←全権限を許可 };
[カテゴリ: プログラミング言語 > Java]
[通知用URL]
Tweet
最終更新時間:2010年08月19日 21時36分49秒