我想编写一个java安全策略,它允许除特定类型之外的所有权限。
一个例子可能是:
MY_ACCESSIBLE_SYSTEM_PROP_1
和MY_ACCESSIBLE_SYSTEM_PROP_2
此安全策略可能如下所示:
grant {
permission java.util.PropertyPermission "MY_ACCESSIBLE_SYSTEM_PROP_1", "read";
permission java.util.PropertyPermission "MY_ACCESSIBLE_SYSTEM_PROP_2", "read";
}
...但我可以添加哪些内容以允许除java.util.PropertyPermission
以外的所有其他权限?
我已经阅读了很多文档,并开始认为使用默认的Java安全管理器是不可能的。我应该编写自己的安全管理器,允许在我感兴趣的区域之外的任何权限吗?
答案 0 :(得分:1)
默认的SecurityManager只是查询当前安装的策略(由Policy.getPolicy()返回),以查看是否应该授予给定的权限。
默认策略实现(基于策略文件授予权限)不允许您为已授予的权限定义例外,因此无法授予代码权限以执行任何操作,除了一些重新列入的权限。
如果您需要此类行为,则应实施自定义策略(请参阅http://docs.oracle.com/javame/8.0/sdk-dev-guide/custom_providers.htm)