Я хотел создать очень строгий менеджер безопасности, поэтому я расширил 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 герметичным?