我想在我的服务器中启用 Java 安全管理器。但是,通过这样做,如问题 [1] 中所述,它会授予 OSGI 包的所有权限。
当尝试启用 OSGi 包的安全性时,提到要授予 Java 安全管理器的所有权限。 [2]
有谁知道这个配置的实际原因吗?
当服务器中有 OSGi bundle 以及其他 jar 和 war 文件时,我们可以同时使用 Java 安全管理器和 OSGi 安全吗?
[1] Enable Java Security Manager OSGi Equinox and Restrict Bundle Permissions
[2] https://felix.apache.org/documentation/subprojects/apache-felix-framework-security.html
最佳答案
在 OSGi 框架中使用 Java 安全性时,通常需要安装并配置 OSGi 框架自己的安全管理器。请参阅Security Layer和 Conditional Permission Admin 。 Permission Admin是条件权限管理的前身,并且仍然得到完全支持。
OSGi 框架本身需要 AllPermission,因为它必须执行许多功能,而且还因为它必须能够向已安装的包分配权限。
根据Permissions 您可以使用具有 OSGi 安全性的普通 Java 安全管理器,但支持 postponed conditions将不可能。
关于java - 为什么需要在OSGi Security中授予java安全管理器所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59057344/