fix: 修复删除资源时未验证所有者的问题
Quality check / Web UI (push) Successful in 9m11s

This commit is contained in:
mei
2026-08-30 17:47:53 +08:00
parent 59cf99ae22
commit 360169ee64
6 changed files with 68 additions and 0 deletions
+10
View File
@@ -162,6 +162,16 @@ func HandleDeleteRule(c *gin.Context) {
return
}
ownerUID, err := getRuleOwnerUID(ruleID)
if err != nil {
response.ServerError(c, "获取规则所属用户失败")
return
}
if ownerUID != userInfo.ID {
response.Forbidden(c, "无权限操作该规则")
return
}
if err := DeleteRuleByID(ruleID, userInfo.ID); err != nil {
response.ServerError(c, "删除规则失败")
return
+15
View File
@@ -103,3 +103,18 @@ func maskRules(rules []model.Rule) []model.Rule {
}
return masked
}
// getRuleOwnerUID 获取规则所属用户的 UID
func getRuleOwnerUID(ruleID uint) (uint, error) {
gormDB, err := db.GetGormDB()
if err != nil {
return 0, err
}
var rule model.Rule
if err := gormDB.Select("uid").Where("id = ?", ruleID).First(&rule).Error; err != nil {
return 0, err
}
return rule.UID, nil
}