2014-10-17 144 views
0

OSGi中的条件许可管理员和用户管理员服务是否互补或排他?我正在开发基于OSGi的家庭自动化项目,我不确定是否应该实施这两种安全服务。OSGi:条件许可管理员或用户管理员

该应用程序最终将通过互联网访问,但不会有一组用户的帐户。根据我的理解,“用户管理”服务对于需要进行身份验证的专用用户的网站或应用程序更为理想。就我而言,应用程序可能与位于不同位置的另一个应用程序通信,因此它可能还需要某种形式的身份验证。但是,通过实施“有条件的权限管理”用户是否足以获得安全收益?

我的计划是使用“有条件的权限管理”并创建自定义条件来控制特殊的操作,例如我们与其他软件包共享资源。这是足够的还是我会实施两个。同时运行这两种服务还会显着影响系统的性能吗?

我真的很感激,如果有人分享他们对此的看法。谢谢!

回答

2

ConditionalPermissionAdmin是关于设置由SecurityManager检查的基于代码的权限。 UserAdmin用于保存用户凭证并为用户分配角色,这些用户可以使用UserAdmin API通过代码进行检查。 UserAdmin与SecurityManager无关。所以CPA和UA相当正交。

安装SecurityManager时性能受到影响。 UserAdmin没有类似的性能问题,因为它只在明确调用时才被检查。

+0

1. CPA的性能会影响家庭自动化等应用吗?我希望有一点性能下降应该是可以接受的,以获得更好的安全性。 2.并说如果我只有2或3个外部用户不会像CPA中的自定义条件那样的安全选项就足够了吗?或者我仍然需要网关上的UserAdmin? – Excite 2014-10-18 18:39:47

+0

至于性能,你需要测量它。但是安装SecurityManager意味着许多地方将开始检查权限,这是不成本的。 SecurityManager最适合保持代码远离其他代码。就好像你已经在网关上运行多个团队并希望确保他们分开。如果你已经信任所有的代码,那么SecurityManager可能是矫枉过正的。像UA一样轻便的东西会更好,成本更低。 – 2014-10-19 18:33:07