← 返回题库
中级

RBAC角色权限检查

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    roles_csv = open_url(____).read()
    user_roles_csv = open_url(____).read()
    import pandas as pd, json
    from io import StringIO
    roles = pd.read_csv(StringIO(____))
    user_roles = pd.read_csv(StringIO(____))
    role_perms = {}
    for _, r in roles.iterrows():
        role_perms[r['____']] = set(json.loads(____))
    def get_user_permissions(____):
        rids = user_roles[user_roles['____']==user_id]['____'].tolist()
        perms = set()
        for rid in rids: perms |= role_perms.get(rid, set())
        return perms
    def has_permission(____):
        return permission in get_user_permissions(____)
    checks = [(____,'____'),(____,'____'),(____,'____'),(____,'____'),(____,'____')]
    for uid, perm in checks:
        ok = has_permission(____)
        print(____)

示例

输入
solve()
期望输出
user=1 perm=products:write: True
user=2 perm=products:write: False
user=2 perm=products:read: True
user=4 perm=orders:read: False
user=6 perm=orders:write: False
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码