gpt4 book ai didi

java - 是否可以为默认的安全管理器编写一个独占的 Java 安全策略?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:03:15 25 4
gpt4 key购买 nike

我想编写一个允许所有权限的 java 安全策略,特定类型除外。

一个例子可能是:

  • 应用只能读取名为 MY_ACCESSIBLE_SYSTEM_PROP_1MY_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 安全管理器是不可能的。我是否应该只编写自己的安全管理器来允许我感兴趣的领域之外的任何权限?

最佳答案

默认的 SecurityManager 仅查询当前安装的策略(由 Policy.getPolicy() 返回)以查看是否应授予给定权限。

默认的 Policy 实现(基于策略文件授予权限)不允许您定义已授予权限的异常(exception)情况,因此无法授予代码执行任何操作的权限,除了某些已列入 list 的集合权限。

如果您需要这种行为,您应该实现自定义策略(参见 http://docs.oracle.com/javame/8.0/sdk-dev-guide/custom_providers.htm)

关于java - 是否可以为默认的安全管理器编写一个独占的 Java 安全策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com