代码之家  ›  专栏  ›  技术社区  ›  James McMahon

有没有一种方法可以在OSGi中保护对bundle的访问?

  •  2
  • James McMahon  · 技术社区  · 15 年前

    以下是我希望限制对这些捆绑包的访问的原因:

    • 安全性:它们没有自己的访问策略,因为这些策略取决于使用捆绑包的应用程序。这意味着它们必须信任客户机捆绑包,才能验证它们所代表的应用程序或用户的权限。我想控制我信任的访问控制方案。
    • 可靠性:我允许并鼓励开发第三方模块来为我的系统添加功能。为了能够保证一定的可靠性,我想控制这些扩展与我的系统交互的级别。另外,我要确保我自己的包只用于经过测试的组合。

    我读过一些关于 ServicePermission 类并与OSGi框架相关,但在我看来,它们让站点管理员控制访问策略,而不是捆绑包制造商,这正是我想要的。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Pavol Juhos    15 年前

    你的用例看起来很复杂,所以我不确定这是否能完全回答你的问题。但是你可以看看 Service Hooks ,这是OSGi版本4.2中添加的一个新特性。

    Find Hook getServiceReference getServiceReferences 方法。这个钩子可以有效地从结果中移除服务引用对象 对调用者隐藏服务 .“(从 article 作者:彼得·克里恩斯)