非IBMid用户调用User_Customer.getPermissions无输出是否正常?
关于SoftLayer Python脚本获取用户权限的问题解答
嘿,这个情况完全是符合预期的!
原因在于账户所有者、品牌主账户这类无IBMid的特殊用户,和普通的IBMid用户有着不同的权限模型:
- 普通IBMid用户的权限是通过显式分配的方式管理的,所以调用
self.client['User_Customer'].getPermissions(id=user_id)可以正常返回已分配的权限列表。 - 而账户所有者、品牌主账户这类角色,默认就拥有账户内的全部权限,不需要单独分配任何权限条目。所以当你调用
getPermissions方法时,自然不会返回任何权限内容,也就没有输出了。
如果需要验证这类用户的权限状态,你可以尝试调用User_Customer.hasRootAccess方法,代码示例如下:
has_root_access = self.client['User_Customer'].hasRootAccess(id=user_id) print(f"该用户是否拥有最高权限:{has_root_access}")
如果返回True,就说明这是拥有全部权限的特殊用户,没有返回权限列表是正常现象。
内容的提问来源于stack exchange,提问作者odysseus
相关产品推荐
相关产品推荐

