【Superset】自定义授权认证,接入内部系统二次开发

news2025/1/11 23:46:47

想要将内部系统认证与superset打通,必须要了解superset的认证体系。

Superset的认证体系

Superset的认证体系可以通过以下几种方式进行配置:

  1. 基于LDAP认证:Superset可以集成LDAP以验证用户身份。在这种情况下,Superset将根据LDAP中的用户信息进行身份验证,并从LDAP中获取用户属性和组织结构信息。
  2. 基于OAuth2认证:Superset支持OAuth2认证和授权。在这种情况下,Superset将重定向用户到OAuth2提供商的登录页,并在用户授权时获取访问令牌以进行身份验证。
  3. 本地认证:Superset还支持本地认证,其中用户可以在Superset中创建帐户并设置密码。在这种情况下,Superset将使用这些凭据来验证用户身份。

无论使用哪种认证方式,管理员都可以控制哪些用户可以访问Superset中的特定资源。例如,可以定义哪些用户可以访问特定的数据源、仪表板或视图。此外,管理员还可以定义角色和权限,以控制用户在Superset中的操作范围。

二次开发,重写认证

系统配置文件: \superset\config.py

配置缓存

在config.py里面配置

Reids_Url = '127.0.0.1'
Reids_Port = 6379

# Cache for datasource metadata and query results
DATA_CACHE_CONFIG: CacheConfig = {'CACHE_TYPE': 'redis',  # 使用 Redis
                                  'CACHE_REDIS_HOST': Reids_Url,  # 配置域名
                                  'CACHE_REDIS_PORT': Reids_Port ,  # 配置端口号
                                  'CACHE_REDIS_URL': 'redis://' + Reids_Url + ':' + str(Reids_Port)
                                  }

配置认证管理类

在config.py里面配置

from superset.custom_sso_security_manager import CustomSsoSecurityManager

CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager

新建类

自定义视图:MyAuthRemoteUserView
class MyAuthRemoteUserView(AuthRemoteUserView):
    # this front-end template should be put under the folder `superset/templates/appbuilder/general/security`
    # so that superset could find this templates to render
    login_template = 'appbuilder/general/security/login_my.html'
    title = "My Login"

    @expose('/test', methods=['GET', 'POST'])
    def test(self):

        data = {}
        # for name in request.environ:
        #     if (type(request.environ[name]) == str or type(request.environ[name]) == int):
        #         data[name] = request.environ[name]
        # return data

        response = _wz_redirect('/login/')
        print(response.headers)
        return response

    # this method is going to overwrite
    # https://github.com/dpgaspar/Flask-AppBuilder/blob/mas

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1137553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

家用智能安防系统包括哪几个部分?如何应用?

智能家居安防系统除了传统的安全装置之外,还有可以进行语音控制、视频监控、移动侦测等高科技智能化功能的升级版,这对于现代社会中的人们来说是一个不错的选择,也是生活水平的一次提升。今天,小编就为大家介绍一下智能家居安防系…

系列五、BeanDefinition

一、概述 BeanDefinition是一个接口,主要负责存储bean的定义信息,决定bean的生产方式,类似于说明书。后续BeanFactory就可以根据这些信息生产bean了。比如实例化:可以通过class进行反射得到实例对象,比如lazy&#xff…

输入/输出应用程序接口和设备驱动程序接口

文章目录 1.输入/输出应用程序接口1.字符设备接口2.块设备接口3.网络设备接口1.网络设备套接字通信 4.阻塞/非阻塞I/O 2.设备驱动程序接口1.统一标准的设备驱动程序接口 1.输入/输出应用程序接口 1.字符设备接口 get/put系统调用:向字符设备读/写一个字符 2.块设备接口 read/wr…

宝塔Python3.7安装模块报错ModuleNotFoundError: No module named ‘Crypto‘解决办法

前言 今晚遇到一个问题&#xff0c;宝塔服务器上安装脚本的模块时&#xff0c;出现以下报错&#xff0c;这里找到了解决办法 Traceback (most recent call last):File "/www/wwwroot/unifysign/fuck_chaoxing/fuck_xxt.py", line 4, in <module>from Crypto.…

统计数(C++)

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

大模型时代,AI如何成为数实融合的驱动力?

10月25日&#xff0c;百度APP、百家号联合中兴通讯举办的“时代的增量“主题沙龙第二期在北京顺利召开。本期沙龙围绕“数实融合新视角”邀请学界、业界、媒体从业者等领域专家出席&#xff0c;以产学研相结合的视角深入探讨数实融合的最新技术趋势&#xff0c;并围绕数实融合在…

AFsim编译-Windows

AFsim软件的核心应用及服务包括&#xff1a; sensor_plot&#xff1a;传感器覆盖和天线增益绘制工具&#xff1b; engage&#xff1a;武器交战分析工具&#xff1b; weapon_tools&#xff1a;武器建模工具&#xff1b; mission&#xff1a;任务仿真工具&#xff1b; post_…

go创建完美的枚举类型

文章目录 一.前言二. 枚举基本要素描述三. 枚举设计源码3.1 EnumCommon-通用能力3.2 Enum_news 业务枚举3.3 定制化业务枚举 一.前言 用惯了springboot和Jakarta.才发现springboot和Jakarta的语言是多么精妙! 一些场景我们需要使用枚举: 如建立字典值映射,仅通过代码实现方便快…

【RocketMQ】揭开事务消息的神秘面纱

【RocketMQ】揭开事务消息的神秘面纱 参考资料&#xff1a; 解析 RocketMQ 业务消息——“事务消息”—— 阿里云 RocketMQ事务消息, 图文、源码学习探究~ RocketMQ实战一&#xff1a;事务消息保证分布式事务的一致性 RocketMQ源码分析13&#xff1a;事务消息 《RocketMQ技术内…

Miniconda、Vscode下载和conda源、pip源设置

1、常用软件下载 1、Miniconda软件下载&#xff1a; windows网址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CS&OA 2、最新版Miniconda下载网址&#xff1a;https://docs.conda.io/projects/miniconda/en/latest/ 3、常用代码编辑器VsCode下…

haproxy 负载均衡

haproxy负载均衡 haproxy&#xff1a;基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器&#xff0c;工作中用的版本1.5.9 haproxy功能&#xff1a;主要用于高并发的web站点&#xff0c;工作原理和nginx、lvs都一样 haproxy缺点: 单节点部署&#xff0c;单实例运行。代…

3DCAT+东风日产:共建线上个性化订车实时云渲染方案

近年来&#xff0c;随着5G网络和云计算技术的不断发展&#xff0c;交互式3D实时云看车正在成为一种新的看车方式。 与传统的到4S店实地考察不同&#xff0c;消费者可以足不出户&#xff0c;通过网络与终端设备即可实现全方位展示、自选汽车配色、模拟效果、快捷选车并进行个性…

ToLua使用原生C#List和Dictionary

ToLua是使用原生C#List 介绍Lua中使用原生ListC#调用luaLua中操作打印测试如下 Lua中使用原生DictionaryC#调用luaLua中操作打印测试如下 介绍 当你用ToLua时C#和Lua之间肯定是会互相调用的&#xff0c;那么lua里面使用List和Dictionary肯定是必然的&#xff0c;在C#中可以调用…

基本分段存储管理方式

与分页区别-离散分配时分配地址空间的基本单位不同 一、概述 1.分段 将进程地址空间按程序自身逻辑关系划分为若干个段&#xff0c;每个段都有段名&#xff0c;且从0开始编址 逻辑地址段号(段名)段内地址(段内偏移量) 程序中的段名会被翻译成对应段号&#xff0c;段内单元…

ASPICE项目实战

目录 一、前言 二、ASPICE是什么 三、ASPICE项目实施 一、前言 ASPICE全称“AutomotiveSoftware ProcessImprovement and CapacityDetermination”&#xff0c;即汽车软件过程改进及能力评定为什么要做ASPICE&#xff1f;满足主机厂为OEM资质要求&#xff1b;改善产品研发质…

iOS开发-自定义下拉刷新控件PullDownRefreshView

iOS开发-自定义下拉刷新控件PullDownRefreshView 在开发过程中&#xff0c;有时候需要自定义下拉刷新控件&#xff0c;这时候我们就需要自定义PullDownRefreshView。 PullDownRefreshView是在UIScrollView上。 一、UIScrollView 在下拉刷新过程中&#xff0c;需要实现UISc…

天锐绿盾企业内网安全管理软件

天锐绿盾&#xff0c;又名绿盾信息安全管理软件是一款企业内网安全管理软件&#xff0c;它将局域网内文件的透明加密、内网的有效管理有效地结合起来&#xff0c;功能强大&#xff0c;能满足不同类型企业用户对信息安全的需求。 试用下载&#xff1a;www.drhchina.com 主要功能…

深度学习与计算机视觉(一)

文章目录 计算机视觉与图像处理的区别人工神经元感知机 - 分类任务Sigmoid神经元/对数几率回归对数损失/交叉熵损失函数梯度下降法- 极小化对数损失函数线性神经元/线性回归均方差损失函数-线性回归常用损失函数使用梯度下降法训练线性回归模型线性分类器多分类器的决策面 soft…

2016年亚太杯APMCM数学建模大赛A题基于光学信息数据的温度及关键元素含量预测求解全过程文档及程序

2016年亚太杯APMCM数学建模大赛 A题 基于光学信息数据的温度及关键元素含量预测 原题再现 光含有能量&#xff0c;在一定条件下可以转化为热。燃烧是一种常见的现象&#xff0c;既能发光又能发热。光和热通常是同时存在的&#xff0c;一般来说&#xff0c;光强度越高&#xf…