Skip to content

Commit 614bd44

Browse files
committed
fix: remove user dconfig data when deleting user
1. Added cleanup of dconfig user data in DeleteUser method 2. When a user is deleted, now also removes their dconfig data using cfgManager.RemoveUserData 3. Handles potential errors by logging warnings if dconfig removal fails 4. Converts user UID from string to appropriate types for the dconfig API call Influence: 1. Test user deletion to ensure dconfig data is properly cleaned up 2. Verify no leftover dconfig data after user deletion 3. Test with cfgManager available and unavailable scenarios 4. Check error handling when dconfig removal fails 5. Verify UID conversion and parameter passing to RemoveUserData fix: 删除用户时同时清理 dconfig 数据 1. 在 DeleteUser 方法中添加了 dconfig 用户数据清理 2. 删除用户时,现在会同时使用 cfgManager.RemoveUserData 移除其 dconfig 数据 3. 处理潜在错误,如果 dconfig 移除失败会记录警告日志 4. 将用户 UID 从字符串转换为 dconfig API 调用所需的适当类型 Influence: 1. 测试用户删除功能,确保 dconfig 数据被正确清理 2. 验证用户删除后没有残留的 dconfig 数据 3. 测试 cfgManager 可用和不可用两种场景 4. 检查 dconfig 移除失败时的错误处理 5. 验证 UID 转换和传递给 RemoveUserData 的参数 PMS: BUG-315421
1 parent 77033d8 commit 614bd44

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

accounts1/manager_ifc.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ func (m *Manager) DeleteUser(sender dbus.Sender,
152152
return dbusutil.ToError(err)
153153
}
154154

155+
// 删除用户的 dconfig 数据
156+
if m.cfgManager != nil {
157+
id, _ := strconv.Atoi(user.Uid)
158+
err = m.cfgManager.RemoveUserData(0, uint32(id))
159+
if err != nil {
160+
logger.Warningf("RemoveUserData failed for uid %s: %v", user.Uid, err)
161+
}
162+
}
163+
155164
if m.isDomainUser(user.Uid) {
156165
id, _ := strconv.Atoi(user.Uid)
157166

0 commit comments

Comments
 (0)