中级
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
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199