java - 为什么需要在OSGi Security中授予java安全管理器所有权限

标签 java osgi java-security-manager

我想在我的服务器中启用 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 LayerConditional Permission AdminPermission Admin是条件权限管理的前身,并且仍然得到完全支持。

OSGi 框架本身需要 AllPermission,因为它必须执行许多功能,而且还因为它必须能够向已安装的包分配权限。

根据Permissions 您可以使用具有 OSGi 安全性的普通 Java 安全管理器,但支持 postponed conditions将不可能。

关于java - 为什么需要在OSGi Security中授予java安全管理器所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59057344/

相关文章:

java - 我们如何在 HTTPS 中执行我们自己的证书验证步骤

java - 启用 java 安全管理器时,获取系统属性 "os.arch"时权限被拒绝

java - 检测两张连续图片的变化

java - 如何判断二叉树是否平衡?

java - 错误消息找不到符号 - 变量 mobileserviceprovider

java - 在哪些领域使用 OSGI 有意义?

java - 在项目 xxx 的构建路径中检测到循环 - 构建路径问题

grails - 是否可以将简单的grails应用程序转换为可以在Adobe CQ中运行的OSGi软件包?

java - 如何在没有 SecurityManager 的情况下创建 java RMI 程序,因为它已被弃用?

java - Tomcat9 在 OpenJdk11 中使用安全管理器响应缓慢