- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在构建一个 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”方法,但我真的无法解决这个问题。
最佳答案
权限是根据堆栈上的所有代码授予的。所有调用者都必须具有所需的权限。如果您覆盖该方法并调用父类(super class)方法,您的代码也在堆栈上,这意味着您的代码库(您的自定义 SecurityManager 所属的位置)必须具有您(您的调用者)请求的权限。
这就是覆盖与不覆盖的区别。如果您不重写该方法,则只有(可能具有特权的)调用者的代码在堆栈上,并且它将获得请求的权限。如果您重写该方法,您的代码也在堆栈上并且也必须具有权限。
因此,如果您想实现一个调用继承检查方法的自定义 SecurityManager,您必须配置继承(基于策略)逻辑,为您的 SecurityManager 提供它应该能够授予的所有权限。建议将 SecurityManager 与应用程序的其余部分分离到不同的代码库中,这样只有 SecurityManager 而没有其他任何东西可以获得慷慨的权限。
关于Java SecurityManager @Override public void checkPermission(Permission perm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597949/
我尝试通过 checkPermission() 方法获取目录权限,如代码中所示。 private static boolean dirPermissions(String dir, String pe
我正在尝试获取我的设备的 myime,然后将其以字符串变量的形式保存。但我不断收到此错误.. Attempt to invoke virtual method 'int android.content
如何检查应用程序是否有权读取或写入文件系统上的特定目录。我正在尝试这个: try { AccessController.checkPermission(new FilePermission(f
我正在尝试了解Java的权限模型。我尝试了这个示例代码: public static void main(String[] args) { File file = new File("/etc/p
当您进入控制台并尝试 window.webkitNotifications.checkPermission() 时,您会收到此错误; TypeError:无法读取未定义的属性“checkPermiss
为什么这样做: user.has_permission(permission, object) 和 user.checkPermission(permission, object) 返回不同的结果?
我一直在尝试解决在 Mac 上不使用 sudo 运行 Node 的问题,但我不断收到此消息: npm WARN checkPermissions 缺少对/Users/myuser/.npm-packa
我正在将 jdk 8 升级到 11。 我在 checkPermission 中加载了一些类方法然后安全管理器发出 recursive update异常(exception)。但使用 jdk1.8.0_
为什么这不会用 try catch 或 throw from mathod 来包围? import java.security.Permission; public class NewSecurity
在查询 Android 日历中的事件之前,我需要检查权限。为此,Android Studio 警告我需要在查询之前进行检查。自动生成的代码是这样的: if (ActivityCompat.checkS
本文整理了Java中org.apache.hadoop.yarn.security.YarnAuthorizationProvider.checkPermission()方法的一些代码示例,展示了Ya
我正在构建一个 SWING 应用程序,还需要编写一个自定义 SecurityManager。如果我写一个像这样扩展 SecurityManager 的空类 public class Sandbox e
每次在我的项目上运行 npm install 时,我都会收到以下错误: npm WARN checkPermissions Missing write access to /../node_modul
这是我的第一篇文章,所以我不确定回答我正在做的事情是否正确..哈哈 Jongryului-MacBook-Pro:~ jongryulpark$ npm install uglify-js -g np
注意:出于安全考虑,请不要使用标记的解决方案,而是使用 the highest voted one ! 原始问题: 我正在尝试使用此命令安装 monaca。 npm install -g monaca
我正在编写一个删除通话记录的应用程序。这是代码 public class PhoneStateReceiver extends BroadcastReceiver { @Override public
我是一名优秀的程序员,十分优秀!