首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在vijava中获得vm权限

如何在vijava中获得vm权限
EN

Stack Overflow用户
提问于 2015-09-21 10:15:49
回答 2查看 382关注 0票数 1

我试图像这样使用vijava获得虚拟机的权限:

代码语言:javascript
运行
复制
ManagedEntity me = new
InventoryNavigator(rootFolder).searchManagedEntity("VirtualMachine", vmName);
                VirtualMachine vm = (VirtualMachine) me;
for (Permission permission : vm.getPermission()) {
                System.out.println(permission.getPrincipal());
}

这样,我获得的权限仅适用于此vm。

如何获得虚拟机的全部权限,包括继承的权限?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-22 12:09:27

要获得所有继承的权限,您应该获得如下所示的所有父级权限:

代码语言:javascript
运行
复制
  while (me.getParent() != null) {
        me = me.getParent();
        Permission[] permissions = me.getPermission();
        if (permissions != null) {
            for (Permission p : permissions) {
                // do stuff....
            }
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2015-09-21 17:46:13

我不确定这是否可行,因为每个权限列表都与特定的实体(即VirtualMachine、HostSystem等)相关联。

我这样做的方式是获得虚拟机的底层实体,并获得它们的权限。例如,由于您有VirtualMachine对象,所以获取底层HostSystem并检索它的权限,等等。

代码语言:javascript
运行
复制
ManagedEntity me = new
InventoryNavigator(rootFolder).searchManagedEntity("VirtualMachine", vmName);
                VirtualMachine vm = (VirtualMachine) me;

// Assuming that you have a ServiceInstance object si.
HostSystem host = (HostSystem)MorUtil.createExactManagedEntity(si
                        .getServerConnection(),vm.getRuntime().host);
Permission[] hostPermissions = host.getPermission();

我希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32692661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档