自定义安全管理器

所有模板的本地调用都需要通过安全管理器校验,默认需要实现NativeSecurityManager 的public boolean permit(String resourceId, Class c, Object target, String method) 方法

如下是默认管理器的实现方法

  1. public class DefaultNativeSecurityManager implements NativeSecurityManager{
  2. @Override
  3. public boolean permit(String resourceId, Class c, Object target, String method){
  4. if (c.isArray()){
  5. //允许调用,但实际上会在在其后调用中报错。不归此处管理
  6. return true;
  7. }
  8. String name = c.getSimpleName();
  9. String pkg = c.getPackage().getName();
  10. if (pkg.startsWith("java.lang")){
  11. if (name.equals("Runtime") || name.equals("Process") || name.equals("ProcessBuilder")
  12. || name.equals("System")){
  13. return false;
  14. }
  15. }
  16. return true;
  17. }
  18. }