向特定数据授予权限的正确方法JWT MySQL Flask-Restful Python

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

我已经使用适用于Python 3.7的Flask-RESTFUL软件包创建了一个API。我想知道根据他应该访问的列将数据返回给用户的正确方法是什么。

例如,如果我有一个带有(order_id,order_date,price,ebay_name,收益)的“ orders”表,但希望用户A和用户B可以访问不同的数据。假设在路线/get_data上,我返回了所有字段,但是用户A应该有权访问所有数据,而用户B仅可以看到收入字段。

我目前的做法:当用户登录并进行身份验证时构建JWT令牌时,将“订单”表的列名存储在实际令牌中是否可以接受?然后,当用户转到/get_data路由时,我基本上会检查存储在JWT中的列名,并使用在令牌(select all_columns_in_jwt from orders)中找到的列名来构建MySQL查询。我担心暴露JWT令牌中的表列不是最佳方法。

另一个想法是,每次点击/get_data路由时,都要在用户权限表中进行检查。

有人有建议以更有效的方式实施它吗?

python mysql flask jwt flask-restful
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.