| 1234567891011121314151617181920212223242526 |
- 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
- }
|