我們正在嘗試使用SecurityManager和Resin 3.1.9,並遇到以下問題:CodeSource.getLocation()爲已編譯的JSP返回null。如何使用Resin中的SecurityManager策略文件授予JSP權限?
這意味着我們不能使用許可條款特定的代碼庫中我們的政策文件,例如:
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,所以不要重新編譯它們。這可能與這個問題有關。