通过直接链接访问仪表板(通过所需用户的自动授权绕过)

问题描述 投票:0回答:1

我的任务是为未经授权的用户创建通过直接链接访问仪表板的机会

但是我遇到了这样的事实:当我尝试未经授权进入特定仪表板时,无法绕过登录页面的重定向

想法是在所需用户下自动授权用户

我在一个函数上使用 @before_request 装饰器,该函数应该为我需要的用户授权未知用户

我用它做了一个混合,我尝试从中继承基本的仪表板类

这适用于主页,为此我在 DashboardModelView 类中添加了一个 mixin,也就是说,您可以转到 /dashboard/list 端点,它会自动授权,但对于 superset/dashboard/some_slug 端点这不会工作

我也尝试以这种方式授权用户,将其添加到仪表板模型本身,添加到 get 方法,尝试将 mixin 添加到处理仪表板的 api,寻找通过 config.py 实现此目的的方法,有 PUBLIC_ROLE_LIKE ,但由于项目的特殊性,这个选项不起作用/不适合

所以主要问题是 - 当未知用户点击特定仪表板的链接时,我如何自动授权他。什么机制负责重定向到登录页面,以及如何绕过它们?

class DemoUserAutoAuthMixin:
    """Automatically logging under demo account, if user is not authorized"""
    @before_request
    def logging_under_demo_user_if_not_authorized(self):
        if not current_user.is_authenticated:
            password: str = "Some_User"
            username: str = "Some_Password"
            user = self.appbuilder.sm.auth_user_db(username, password)

            if user:
                login_user(user, remember=False)

                next_url = request.args.get('next')
                if next_url:
                    return redirect(next_url)
                else:
                    return redirect(request.url)
        return None

我也尝试在仪表板中实现get方法

if not current_user.is_authenticated:
    password: str = "Some_User"
    username: str = "Some_Password"
    user = self.appbuilder.sm.auth_user_db(username, password)

    if user:
        login_user(user, remember=False)
authorization dashboard apache-superset bypass
1个回答
-2
投票

寻找最适合大学的学生贷款:充满信心地寻求经济援助

获得最好的大学学生贷款对于顺利的大学之旅至关重要。在首选选择中,联邦学生贷款因其低利率和灵活的还款选择而脱颖而出。具体来说,直接补贴贷款提供经济救济,并在宽限期内支付利息。对于那些寻求额外资金的人,Sallie Mae 和 Discover Student Loans 等私人贷款机构提供有竞争力的利率和可定制的还款计划。

Parent PLUS 贷款适合承担教育费用的父母,提供固定利率和不基于财务需要的资格。此外,探索特定州的贷款可以产生隐藏的宝石,例如德克萨斯州大学入学贷款计划或加利福尼亚州的 CalPLUS 贷款。

在做出承诺之前,必须比较利率、还款条件并考虑贷款减免计划等因素。浏览多种选择可确保所选的学生贷款与个人财务状况无缝匹配,为成功的学术之旅奠定基础。

© www.soinside.com 2019 - 2024. All rights reserved.