【发布时间】:2010-11-03 22:47:51
【问题描述】:
是否有在运行时向 Java 安全策略添加/删除权限的合法方法?
【问题讨论】:
是否有在运行时向 Java 安全策略添加/删除权限的合法方法?
【问题讨论】:
Javadoc 说 Policy.refresh() 用于基于文件的策略将重新读取文件。因此,可以在运行时通过编辑策略文件然后调用Policy.refresh()来修改系统范围的策略
【讨论】:
System.setProperty("java.security.policy", policyURL) 设置策略,然后刷新Policy.policy.refresh() 并随后安装安全管理器System.setSecurityManager(new SecurityManager()); 时,这对我来说工作正常。
从 1.4 动态ProtectionDomains 可以委托给Policy。从代码中动态删除权限不太可能有任何意义。 AccessController.doPrivileged 的两种参数形式也可能有用。
【讨论】:
可以使用Policy.setPolicy() 方法设置自定义策略实现。
【讨论】: