Resin 3.1.9 で SecurityManager を使用しようとしましたが、次の問題が発生しました: CodeSource.getLocation() は、コンパイルされた JSP に対して null を返します。
これは、ポリシー ファイルの grant 句で特定のコードベースを使用できないことを意味します。次に例を示します。
grant codeBase "file:/path_to_resin/runtime/work/-" {
OR grant codeBase "file:/path_to_resin/webapp/JSP-source/-" {
//...some jsp-specific permissions
};
代わりに、ユニバーサル許可句を使用する必要があります。
grant {
//..some jsp-specific permissions. Unfortunately, these will be applied
//to all code!!!
};
JSP に適切な CodeSource を持たせる方法はありますか? サードパーティ ライブラリのアクセス許可を制限したいが、独自の JSP にはアクセス許可を与えたい。ポリシー ファイルで JSP を指定できない場合、これを行うことができない可能性があります。
編集: JSP をそのままデプロイするため、再コンパイルしないでください。それは問題と関係があるかもしれません。