我想創建一個非常嚴格的安全管理器,所以我擴展了SecurityManager並覆蓋了所有自定義的checkXXX方法。SecurityManager意外
但後來我發現,我的安全管理是沒用的,因爲任何人都可以只是:
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保持密封狀態?
我不知道爲什麼這是一個驚喜。它在Javadoc中指定。 – EJP