superset详解(四)--权限分类

superset的权限基本上可以分为3类,菜单类,基本权限,资源类。superset在为角色添加权限的时候,添加的不是基本的权限而是权限和视图的组合。比如我想访问报表功能,视图是slicemodelview,权限是menu_access,需要把它们的组合 menu access on slicemodelview添加到我的角色当中。

菜单类

flaskappbuilder 自己定义的控制菜单的权限

menu_access 
基本权限

基本权限有很多,类中的所有的加了@has_access| @has_access_api装饰器的方法都会生成基本权限

can_list can_add  can_csv   can_xlsx  can_edit    can_explore_json   can_sql_json

PERMISSION_PREFIX = 'can_'
def has_access(f):
    if hasattr(f, '_permission_name'):
        permission_str = f._permission_name
    else:
        permission_str = f.__name__
    def wraps(self, *args, **kwargs):
        permission_str = PERMISSION_PREFIX + f._permission_name  # 生成权限
        if self.appbuilder.sm.has_access(permission_str, self.__class__.__name__):
            return f(self, *args, **kwargs)
        else:
           pass
    f._permission_name = permission_str
    return functools.update_wrapper(wraps, f)

权限有2部分组成,前缀’can_'和函数的名字

资源权限

flaskappbuilder 自己定义的控制菜单的权限

all_database_access      # 所有的数据库权限
all_datasource_access    # 所有的表的权限
database_access
datasource_access
schema_access
metric_access
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值