我正在定制 Horizon。我的目标是,不仅要限制对仪表板某些方面的访问,还要根据用户角色从仪表板中删除这些组件。所以我不确定这是否是正确的方向。
我试图了解它定义权限的位置,例如在某些给定的 Horizon 组件上我可以添加:
permissions = list(getattr(instances_panel, 'permissions', []))
permissions.append('openstack.roles.admin')
instances_panel.permissions = tuple(permissions)
我的问题是这些角色在哪里定义?我假设在 keystone 中,如果可能的话,我如何引用自定义角色,例如:
permissions.append('keystone.roles.my_custom_role')