【发布时间】:2010-12-20 09:09:11
【问题描述】:
我有一个由几个 OSGi 包组成的应用程序。我想强制它们中的一些仅在提供有效令牌(例如许可证密钥)时才提供对其服务的其他捆绑包。
这就是我想要限制对这些捆绑包的访问的原因:
- 安全性:他们没有自己的访问策略,因为这些取决于使用捆绑包的应用程序。这意味着他们必须信任客户端捆绑包以验证他们所代表的应用程序或用户的权限。我想控制我信任的访问控制方案。
- 可靠性:我允许并鼓励开发第三方模块以向我的系统添加功能。为了能够保证一定的可靠性,我想控制这些扩展在哪个级别与我的系统交互。另外,我想确保我自己的捆绑包仅用于经过测试的组合。
- 许可:某些模块中的某些功能可能只能通过正确的许可使用,或者,我可能希望确保客户无法在不同安装之间交换捆绑包。
我从 OSGi 框架中阅读了一些关于 ServicePermission 类和相关的内容,但在我看来,这些让站点管理员控制访问策略,而不是捆绑制造商,这正是我想要的。
【问题讨论】: