package initialize import ( "wails-app/internal/global" ) // EnsureSecurityHardening upgrades both new and existing databases with the // permission rules required to close the privilege escalation hole where a // 618 operator could register an 888 admin account via /user/admin_register. // // 纵深防御: // 1. Casbin 层:撤销 618 角色的 admin_register 权限(本函数,覆盖存量数据库)。 // 2. 业务层:Register 接口校验调用者只能创建不高于自身权限的角色 // (internal/api/v1/system/sys_user.go canRegisterAuthority)。 func EnsureSecurityHardening() error { db := global.GVA_DB if db == nil { return nil } // 存量库清理:删除历史上授予 618 的注册权限(新库种子已不再写入) if err := db.Exec("DELETE FROM casbin_rule WHERE v0 = ? AND v1 = ? AND v2 = ?", "618", "/user/admin_register", "POST").Error; err != nil { return err } return nil }