From b8a6a75c98eb798f53cb3ef75fa558ff1157edba Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sat, 20 Jun 2026 11:19:20 +0800 Subject: [PATCH] =?UTF-8?q?del=20=E9=81=97=E7=95=99SQL=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V1.0.0__security_config.sql | 63 ----------------- .../V1.0.1__security_config_init_data.sql | 70 ------------------- ...3.12.02__create_iam_user_tenant_tables.sql | 27 ------- ...9.02__create_iam_user_password_history.sql | 19 ----- .../V2026.04.09.03__insert_builtin_roles.sql | 5 -- ...last_failure_time_to_password_security.sql | 5 -- 6 files changed, 189 deletions(-) delete mode 100644 daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.0__security_config.sql delete mode 100644 daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.1__security_config_init_data.sql delete mode 100644 daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.03.12.02__create_iam_user_tenant_tables.sql delete mode 100644 daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.02__create_iam_user_password_history.sql delete mode 100644 daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.03__insert_builtin_roles.sql delete mode 100644 daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09__add_last_failure_time_to_password_security.sql diff --git a/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.0__security_config.sql b/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.0__security_config.sql deleted file mode 100644 index f2653d4a3..000000000 --- a/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.0__security_config.sql +++ /dev/null @@ -1,63 +0,0 @@ --- IAM 安全配置表 -CREATE TABLE IF NOT EXISTS pay_platform_security_config ( - id BIGSERIAL PRIMARY KEY, - config_group VARCHAR(100) NOT NULL, - config_key VARCHAR(100) NOT NULL, - config_value TEXT, - value_type VARCHAR(50) NOT NULL, - description VARCHAR(500), - enabled BOOLEAN DEFAULT TRUE, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_by BIGINT, - UNIQUE (config_group, config_key) -); - --- 添加注释 -COMMENT ON TABLE pay_platform_security_config IS 'IAM 安全配置表'; -COMMENT ON COLUMN pay_platform_security_config.id IS '主键ID'; -COMMENT ON COLUMN pay_platform_security_config.config_group IS '配置分组(如:password_policy, session_management)'; -COMMENT ON COLUMN pay_platform_security_config.config_key IS '配置项键名'; -COMMENT ON COLUMN pay_platform_security_config.config_value IS '配置项值(根据 value_type 存储不同格式)'; -COMMENT ON COLUMN pay_platform_security_config.value_type IS '配置值类型(STRING, INTEGER, BOOLEAN, JSON_OBJECT, JSON_ARRAY)'; -COMMENT ON COLUMN pay_platform_security_config.description IS '配置描述'; -COMMENT ON COLUMN pay_platform_security_config.enabled IS '是否启用'; -COMMENT ON COLUMN pay_platform_security_config.created_at IS '创建时间'; -COMMENT ON COLUMN pay_platform_security_config.updated_at IS '更新时间'; -COMMENT ON COLUMN pay_platform_security_config.updated_by IS '更新人ID'; - --- 创建索引 -CREATE INDEX IF NOT EXISTS idx_security_config_group ON pay_platform_security_config(config_group); -CREATE INDEX IF NOT EXISTS idx_security_config_key ON pay_platform_security_config(config_key); -CREATE INDEX IF NOT EXISTS idx_security_config_enabled ON pay_platform_security_config(enabled); - --- IAM 安全配置变更历史表 -CREATE TABLE IF NOT EXISTS pay_platform_security_config_history ( - id BIGSERIAL PRIMARY KEY, - config_group VARCHAR(100) NOT NULL, - config_key VARCHAR(100) NOT NULL, - old_value TEXT, - new_value TEXT, - modified_by BIGINT, - modified_by_username VARCHAR(100), - modified_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - remark VARCHAR(500) -); - --- 添加注释 -COMMENT ON TABLE pay_platform_security_config_history IS 'IAM 安全配置变更历史表'; -COMMENT ON COLUMN pay_platform_security_config_history.id IS '主键ID'; -COMMENT ON COLUMN pay_platform_security_config_history.config_group IS '配置分组'; -COMMENT ON COLUMN pay_platform_security_config_history.config_key IS '配置项键名'; -COMMENT ON COLUMN pay_platform_security_config_history.old_value IS '旧值'; -COMMENT ON COLUMN pay_platform_security_config_history.new_value IS '新值'; -COMMENT ON COLUMN pay_platform_security_config_history.modified_by IS '修改人ID'; -COMMENT ON COLUMN pay_platform_security_config_history.modified_by_username IS '修改人用户名'; -COMMENT ON COLUMN pay_platform_security_config_history.modified_at IS '修改时间'; -COMMENT ON COLUMN pay_platform_security_config_history.remark IS '修改原因/备注'; - --- 创建索引 -CREATE INDEX IF NOT EXISTS idx_security_config_history_group ON pay_platform_security_config_history(config_group); -CREATE INDEX IF NOT EXISTS idx_security_config_history_key ON pay_platform_security_config_history(config_key); -CREATE INDEX IF NOT EXISTS idx_security_config_history_modified_at ON pay_platform_security_config_history(modified_at DESC); -CREATE INDEX IF NOT EXISTS idx_security_config_history_modified_by ON pay_platform_security_config_history(modified_by); diff --git a/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.1__security_config_init_data.sql b/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.1__security_config_init_data.sql deleted file mode 100644 index b4b802246..000000000 --- a/daxpay-platform/daxpay-platform-capability/capability-auth/src/main/resources/db/migration/V1.0.1__security_config_init_data.sql +++ /dev/null @@ -1,70 +0,0 @@ --- 初始化密码策略配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('password_policy', 'enabled', 'true', 'BOOLEAN', '是否启用密码强度验证', true), -('password_policy', 'min_length', '8', 'INTEGER', '密码最小长度', true), -('password_policy', 'max_length', '32', 'INTEGER', '密码最大长度', true), -('password_policy', 'require_uppercase', 'true', 'BOOLEAN', '是否要求包含大写字母', true), -('password_policy', 'require_lowercase', 'true', 'BOOLEAN', '是否要求包含小写字母', true), -('password_policy', 'require_digit', 'true', 'BOOLEAN', '是否要求包含数字', true), -('password_policy', 'require_special_char', 'true', 'BOOLEAN', '是否要求包含特殊字符', true), -('password_policy', 'special_chars', '!@#$%^&*()_+-=[]{}|;:,.<>?', 'STRING', '特殊字符集合', true), -('password_policy', 'rotation_days', '90', 'INTEGER', '密码轮换周期(天),0或负数表示禁用', true), -('password_policy', 'history_count', '5', 'INTEGER', '密码历史记录数量,0表示禁用', true); - --- 初始化会话管理配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('session_management', 'enabled', 'true', 'BOOLEAN', '是否启用会话管理', true), -('session_management', 'max_online_hours', '8', 'INTEGER', '最大在线时长(小时),0或负数表示无限制', true), -('session_management', 'max_concurrent_sessions', '3', 'INTEGER', '最大并发会话数,0或负数表示无限制', true), -('session_management', 'concurrent_strategy', 'REJECT_NEW', 'STRING', '并发会话策略:REJECT_NEW-拒绝新登录,KICK_OLDEST-踢出最早会话', true), -('session_management', 'auto_cleanup', 'true', 'BOOLEAN', '会话超时后是否自动清理', true); - --- 初始化登录安全配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('login_security', 'lockout_enabled', 'true', 'BOOLEAN', '是否启用登录失败锁定', true), -('login_security', 'max_failed_attempts', '5', 'INTEGER', '最大登录失败次数', true), -('login_security', 'lockout_duration_minutes', '30', 'INTEGER', '账户锁定持续时间(分钟)', true), -('login_security', 'failure_reset_minutes', '15', 'INTEGER', '失败计数重置时间(分钟),超过此时间后重置失败计数', true); - --- 初始化 IP 访问控制配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('ip_access_control', 'enabled', 'false', 'BOOLEAN', '是否启用 IP 白名单', true), -('ip_access_control', 'whitelist', '[]', 'JSON_ARRAY', 'IP 白名单列表,支持单个IP和CIDR格式', true), -('ip_access_control', 'blacklist_enabled', 'false', 'BOOLEAN', '是否启用 IP 黑名单', true), -('ip_access_control', 'blacklist', '[]', 'JSON_ARRAY', 'IP 黑名单列表', true), -('ip_access_control', 'mode', 'WHITELIST_ONLY', 'STRING', 'IP 限制模式:WHITELIST_ONLY-仅白名单,BLACKLIST_ONLY-仅黑名单,WHITELIST_PRIORITY-白名单优先', true); - --- 初始化双因素认证配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('two_factor_auth', 'enabled', 'false', 'BOOLEAN', '是否启用双因素认证', true), -('two_factor_auth', 'mandatory', 'false', 'BOOLEAN', '是否强制所有用户启用 2FA', true), -('two_factor_auth', 'algorithm', 'HmacSHA1', 'STRING', 'TOTP 算法类型', true), -('two_factor_auth', 'time_step', '30', 'INTEGER', 'TOTP 时间步长(秒)', true), -('two_factor_auth', 'code_length', '6', 'INTEGER', 'TOTP 验证码长度', true), -('two_factor_auth', 'time_window_offset', '1', 'INTEGER', '允许的时间窗口偏移(前后各几个时间步)', true), -('two_factor_auth', 'issuer', 'DaxPay Platform', 'STRING', '发行者名称(显示在认证器应用中)', true); - --- 初始化审计日志配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('audit_log', 'enabled', 'true', 'BOOLEAN', '是否启用审计日志', true), -('audit_log', 'log_login_success', 'true', 'BOOLEAN', '是否记录登录成功事件', true), -('audit_log', 'log_login_failure', 'true', 'BOOLEAN', '是否记录登录失败事件', true), -('audit_log', 'log_password_change', 'true', 'BOOLEAN', '是否记录密码修改事件', true), -('audit_log', 'log_account_lockout', 'true', 'BOOLEAN', '是否记录账户锁定/解锁事件', true), -('audit_log', 'log_config_change', 'true', 'BOOLEAN', '是否记录配置变更事件', true), -('audit_log', 'retention_days', '90', 'INTEGER', '日志保留天数,0表示永久保留', true), -('audit_log', 'storage', 'DATABASE', 'STRING', '日志存储方式:DATABASE-数据库存储,FILE-文件存储,BOTH-同时存储', true); - --- 初始化异常登录检测配置 -INSERT INTO pay_platform_security_config (config_group, config_key, config_value, value_type, description, enabled) VALUES -('anomaly_detection', 'enabled', 'false', 'BOOLEAN', '是否启用异常登录检测', true), -('anomaly_detection', 'sensitivity_level', 'MEDIUM', 'STRING', '检测敏感度级别:LOW-低,MEDIUM-中,HIGH-高', true), -('anomaly_detection', 'detect_anomalous_ip', 'true', 'BOOLEAN', '是否检测异常 IP', true), -('anomaly_detection', 'detect_anomalous_time', 'true', 'BOOLEAN', '是否检测异常登录时间', true), -('anomaly_detection', 'detect_anomalous_device', 'true', 'BOOLEAN', '是否检测异常设备', true), -('anomaly_detection', 'ip_change_threshold', '80', 'INTEGER', 'IP 地址变化阈值(百分比),超过此值视为异常', true), -('anomaly_detection', 'time_deviation_threshold', '6', 'INTEGER', '登录时间偏离阈值(小时),超过此值视为异常', true), -('anomaly_detection', 'response_strategy', 'LOG_ONLY', 'STRING', '异常行为响应策略:LOG_ONLY-仅记录日志,LOG_AND_NOTIFY-记录并通知,LOG_NOTIFY_AND_CHALLENGE-记录通知并要求额外验证,LOG_NOTIFY_AND_BLOCK-记录通知并阻止登录', true), -('anomaly_detection', 'send_notification', 'false', 'BOOLEAN', '是否发送异常通知', true), -('anomaly_detection', 'notification_emails', '[]', 'JSON_ARRAY', '通知接收人邮箱列表', true), -('anomaly_detection', 'baseline_retention_days', '30', 'INTEGER', '用户行为基线数据保留天数', true); diff --git a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.03.12.02__create_iam_user_tenant_tables.sql b/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.03.12.02__create_iam_user_tenant_tables.sql deleted file mode 100644 index 6c5e07ec8..000000000 --- a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.03.12.02__create_iam_user_tenant_tables.sql +++ /dev/null @@ -1,27 +0,0 @@ --- 用户表 -CREATE TABLE IF NOT EXISTS iam_user ( - id BIGINT NOT NULL, - creator BIGINT, - create_time TIMESTAMP, - last_modifier BIGINT, - last_modified_time TIMESTAMP, - version INT4 DEFAULT 0, - deleted BOOLEAN DEFAULT FALSE, - tenant_id BIGINT NOT NULL, - username VARCHAR(100) NOT NULL, - password VARCHAR(200) NOT NULL, - role_id BIGINT, - status VARCHAR(20) DEFAULT 'ACTIVE', - PRIMARY KEY (id) -); - -COMMENT ON TABLE iam_user IS '用户表'; -COMMENT ON COLUMN iam_user.tenant_id IS '租户ID'; -COMMENT ON COLUMN iam_user.username IS '用户名'; -COMMENT ON COLUMN iam_user.password IS '密码'; -COMMENT ON COLUMN iam_user.role_id IS '角色ID(单角色模式)'; -COMMENT ON COLUMN iam_user.status IS '状态'; - -CREATE UNIQUE INDEX IF NOT EXISTS uk_user_tenant_username ON iam_user(tenant_id, username) WHERE deleted = FALSE; -CREATE INDEX IF NOT EXISTS idx_user_tenant_id ON iam_user(tenant_id); -CREATE INDEX IF NOT EXISTS idx_user_role_id ON iam_user(role_id); diff --git a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.02__create_iam_user_password_history.sql b/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.02__create_iam_user_password_history.sql deleted file mode 100644 index fd584a403..000000000 --- a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.02__create_iam_user_password_history.sql +++ /dev/null @@ -1,19 +0,0 @@ --- 用户密码历史表 -CREATE TABLE IF NOT EXISTS iam_user_password_history ( - id BIGINT NOT NULL, - user_id BIGINT NOT NULL, - password_hash VARCHAR(200) NOT NULL, - creator BIGINT, - create_time TIMESTAMP, - PRIMARY KEY (id) -); - -COMMENT ON TABLE iam_user_password_history IS '用户密码历史表'; -COMMENT ON COLUMN iam_user_password_history.id IS '主键'; -COMMENT ON COLUMN iam_user_password_history.user_id IS '用户ID'; -COMMENT ON COLUMN iam_user_password_history.password_hash IS '密码哈希值'; -COMMENT ON COLUMN iam_user_password_history.creator IS '创建者ID'; -COMMENT ON COLUMN iam_user_password_history.create_time IS '创建时间'; - -CREATE INDEX IF NOT EXISTS idx_password_history_user_id ON iam_user_password_history(user_id); -COMMENT ON INDEX idx_password_history_user_id IS '用户ID索引'; diff --git a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.03__insert_builtin_roles.sql b/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.03__insert_builtin_roles.sql deleted file mode 100644 index 7b053b580..000000000 --- a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09.03__insert_builtin_roles.sql +++ /dev/null @@ -1,5 +0,0 @@ --- 插入系统内置角色 -INSERT INTO iam_role (id, code, name_cn, name_en, client_code, internal, remark, creator, create_time, last_modifier, last_modified_time, version, deleted) -VALUES - (1928374650192837466, 'merchant_admin', '商户管理员', 'Merchant Admin', 'merchant', true, '系统内置商户管理员角色', 1, NOW(), 1, NOW(), 0, false), - (1928374650192837467, 'isv_admin', '服务商管理员', 'ISV Admin', 'isv', true, '系统内置服务商管理员角色', 1, NOW(), 1, NOW(), 0, false); diff --git a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09__add_last_failure_time_to_password_security.sql b/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09__add_last_failure_time_to_password_security.sql deleted file mode 100644 index 336e2a055..000000000 --- a/daxpay-platform/daxpay-platform-service/service-iam/src/main/resources/db/migration/V2026.04.09__add_last_failure_time_to_password_security.sql +++ /dev/null @@ -1,5 +0,0 @@ --- 添加上次登录失败时间字段 -ALTER TABLE iam_user_password_security -ADD COLUMN last_failure_time TIMESTAMP; - -COMMENT ON COLUMN iam_user_password_security.last_failure_time IS '上次登录失败时间';