【发布时间】:2013-09-07 00:32:28
【问题描述】:
我正在构建一个 SWING 应用程序,还需要编写一个自定义 SecurityManager。如果我写一个像这样扩展 SecurityManager 的空类
public class Sandbox extends SecurityManager {}
它工作正常,这意味着 GUI 被正确呈现,并且所有特权(如 I/O)都被撤销。 但是我需要自定义 checkPermission 方法,每当我覆盖它时,它就不再起作用了...... 为什么连这样的事情都不行??
public class Sandbox extends SecurityManager {
@Overide
public void checkPermission(Permission perm) {
super.checkPermission(perm);
}
}
更新:显示问题的一个非常基本的示例是这样的
public static void main(String[] args) {
System.setSecurityManager(new SecurityManager() {
@Override
public void checkPermission(Permission p) {
if (some_condition_here) {
// Do something here
} else {
// Resort to default implementation
super.checkPermission(p);
}
}
});
new JFrame().setVisible(true);
}
删除“checkPermission”方法后应用程序可以正常工作,但我真的无法理解这一点。
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
我已经用一个例子更新了这个问题
-
好的 - 我很难过,对不起..
标签: java swing securitymanager