我想创建一个非常严格的安全管理器,所以我扩展了 SecurityManager 并覆盖了所有自定义 checkXXX 方法。
但后来我发现我的安全管理器没用,因为任何人都可以:
System.setSecurityManager(null);
所以我必须补充:
@Override public void checkPermission(Permission perm) {
if (perm.getName().equals("setSecurityManager")) {
throw new SecurityException("You shall have no other security manager but me!");
}
}
还有更多惊喜吗?为了使我的 SecurityManager 密封,我还需要做其他任何事情吗?