【问题标题】:how does osgi security model work?osgi 安全模型是如何工作的?
【发布时间】:2014-03-02 17:55:42
【问题描述】:

我想知道 OSGI 究竟如何检查自己的权限,如 PackagePermission。我读过他们使用自制的 ProtectionDomain 但这不是真的(对于我正在查看的新版本)。如果您只参考 Equinox 就可以了。 是否会在每个捆绑包导出其资源以获取类似的 PackagePermission 之前进行实施检查?

 public void export(BundleContext ctx) {
        SecurityManager manager = System.getSecurityManager();
        if(manager != null) {
            manager.checkPermission(new PackagePermission(ctx, "export"));
        }
 }

因为我认为检查这种自制权限并不容易。

【问题讨论】:

    标签: java osgi equinox securitymanager


    【解决方案1】:

    您当然可以查看 Equinox 或 Apache Felix Security 的源代码以了解这是如何完成的 :-) 对于包权限,框架可能会使用 Bundle.hasPermission 来避免抛出异常。

    【讨论】:

    • 我已经看过了,但是错过了Bundle.hasPermission 方法。谢谢:D
    • 我找不到任何特别之处。使用的 SecurityManager 看起来很安静正常...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2011-02-01
    • 1970-01-01
    • 2015-08-02
    • 2018-07-06
    • 2023-02-09
    • 1970-01-01
    相关资源
    最近更新 更多