樹脂中のSecurityManagerポリシーファイルとJSPのアクセス権を与えるためにどのように?
-
19-09-2019 - |
質問
私たちは樹脂3.1.9でのSecurityManagerを使用して、次の問題に実行しようとしている。)CodeSource.getLocation(コンパイルJSPのnullを返します。
。これは、我々は例えば、私たちのポリシーファイルで付与句に特定のコードベースを使用することができないことを意味します:
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は適切なコードソースを持つようにする方法はありますか?私たちは、サードパーティのライブラリの権限を制限したいが、私たち自身のJSPにアクセス権を与えると思います。私たちは、ポリシーファイルでJSPを指定することができない場合、我々はこれを行うことができない場合があります、またはあなたはどう思いますか?
編集:私たちは、あるとして、JSPを配備するので、それらを再コンパイルしないでください。それは問題とは何かを持っているかもしれません。
解決
私は、樹脂メーリングリストを通じて答えを持って、私もそれをここに投稿していると考えます:
樹脂3は、このバグを持っており、それのために今問題がありますようですに。基本的に、我々は動作するはずしようとした、あるいは少なくともそれがに樹脂2に動作する方法は、これは動作するはずます:
grant codeBase "file:/path_to_resin/runtime/work/-" {
//...some jsp-specific permissions
};
樹脂用のdevのリードはこれを言った:「まあ、セキュリティマネージャがパフォーマンスを殺し、私たちは一般的に、それを阻止します。」私たちは、それがすべてのSecurityManagerを使用するのが妥当かどう再考する必要がある場合があります。 href="https://stackoverflow.com/questions/1326858/should-i-use-security-manager-in-java-web-applications">は、私はJavaでセキュリティマネージャを使用すべき、私の他の質問の のトピックに関する詳細な議論のために。