当前位置:   article > 正文

superset支持的图表_如何在Apache开源商业BI平台 superset添加和使用自定义的权限...

apache superset如何应用到客户

Superset是Airbnb开源的一款BI产品,Apache开源项目,支持多种数据库连接,拥有丰富的图表类型,其部署方便,制作看板迅速,能够款速方便的实现数据分析和可视化,是个人和小企业自助BI的不错选择。

0bf1a03bfbbb4c5ba13675898b37a668
b318bc58ca1e4bd7ad19023083844496

最近接到客户需求,需要根据不同的角色,赋予不同的看板使用权限,比如,Admin用户需要在任何时候都能探索,编辑,和下载图表。目测了一下,Superset原生的好像并没有这个权限的定义。只好自己研究一下添加以上的权限:

1. Superset的权限系统

Superset控制权限主要依靠用户(user),角色(role),权限(permissions),视图(view_menu) 四个类来实现。

他们对应的关系如下:

857b6409fbfc492eafcf4497af05ee2f

一个用户对应多个角色,一个角色对应多个用户

一个角色对应多个permission_view, 一个permission_view对应多个角色

一个permission 对应多个 view menu, 一个view_menu对应多个permission

简单的说,就是permission 和view_menus是多对多的关系,然后每一条多对多的关系即为一条权限记录(permission_view_menu), 这个permission_view_menu和role又是多对多的关系。

一个角色包含一个权限记录,该角色下面的所有用户即拥有该权限。

2. 如何添加一条权限信息

def create_role_permission_view_menu(role_name, pv): """ general method to create permission ,view menu, and add perms into role :param role_name: str, role name  :param pv: dict, key is permission_name, value is view_menu_name e.g. :return:  """ for permission_name, view_menu_name in pvs.items(): merge_perm(sm, permission_name, view_menu_name) role = sm.find_role(role_name) perm_view = sm.find_permission_view_menu(permission_name, view_menu_name) sm.add_permission_role(role, perm_view)role_name = "Admin"permission_view_menu = { 'can_edit_chart': "chart
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/542456
推荐阅读
相关标签
  

闽ICP备14008679号