我们正在尝试将 SecurityManager 与 Resin 3.1.9 一起使用并遇到以下问题: 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 有合适的 CodeSource?我们想限制第三方库的权限,但给我们自己的 JSP 权限。如果我们无法在策略文件中指定 JSP,我们可能无法做到这一点,或者您怎么看?
编辑:我们按原样部署 JSP,所以不要重新编译它们。这可能与问题有关。