在运行时更新Java安全策略?

是否有合法的方法在运行时添加/删除Java安全策略的权限?

Javadoc说,基于文件的策略的Policy.refresh()会重新读取该文件。 因此,可以通过编辑策略文件然后调用Policy.refresh()在运行时修改系统范围的策略。

从1.4动态ProtectionDomain可以委托给Policy 。 从代码中动态删除权限不太可能有任何意义。 AccessController.doPrivileged的两种参数forms也可能有用。

可以使用Policy.setPolicy()方法设置自定义策略实现。 例如,参见JAAS in Action book。