Skip to content

Commit 437c026

Browse files
authored
Fix user cache cleanup when updating data scope (#915)
1 parent 3160790 commit 437c026

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

backend/app/admin/service/data_scope_service.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,17 @@ async def update_data_scope_rule(*, db: AsyncSession, pk: int, rule_ids: UpdateD
115115
"""
116116
更新数据范围规则
117117
118+
:param db: 数据库会话
118119
:param pk: 范围 ID
119120
:param rule_ids: 规则 ID 列表
120121
:return:
121122
"""
122123
count = await data_scope_dao.update_rules(db, pk, rule_ids)
124+
data_rule = await data_scope_dao.get(db, pk)
125+
if data_rule:
126+
for role in await data_rule.awaitable_attrs.roles:
127+
for user in await role.awaitable_attrs.users:
128+
await redis_client.delete(f'{settings.JWT_USER_REDIS_PREFIX}:{user.id}')
123129
return count
124130

125131
@staticmethod

backend/common/security/permission.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def filter_data_permission(request_user: GetUserInfoWithRelationDetail) -> Colum
8686
]
8787
column = data_rule.column
8888
if column not in model_columns:
89-
raise errors.NotFoundError(msg='数据规则模可用型列不存在')
89+
raise errors.NotFoundError(msg='数据规则可用模型列不存在')
9090

9191
# 构建过滤条件
9292
column_obj = getattr(model_ins, column)

0 commit comments

Comments
 (0)