Commit Graph
31 Commits
Author SHA1 Message Date
Austin 6348ace38e feat(im security): add login failure lockout configuration feature
1. add APIs for login lockout config get and save
2. add backend service and controller for login lockout config
3. refactor frontend to separate login lockout config from main policy
4. update default login lockout policy values
5. add permission sql and docking documentation
2026-09-21 09:28:03 +08:00
richjohnrambo e5ab79c40d fix: 拆分商户新增和编辑权限 2026-09-20 17:08:50 +08:00
Austin 8675fe333d feat(imLoginFailureLog): 用户登录密码错误次数锁定与解锁能力(管理端)
- 安全策略登录限频由 JSON 文本改为结构化表单(次数/锁定分钟/窗口分钟),编辑校验同步扩展
- 失败日志新增解锁入口:/imLoginFailureLog/unlock 经 internal 通道调用 im-server 释放锁定
- 失败日志模型补充 accountHash 字段,解锁按钮按 risk_action=account_locked 展示
- 租户业务库初始化模板补充 im_login_lockouts 等表;新增解锁按钮菜单权限 SQL
2026-09-20 17:04:19 +08:00
richjohnrambo c7265252d8 feat: 完善养成管理后台功能 2026-09-19 17:07:47 +08:00
richjohnrambo f6766d3dbd feat: 新增养成管理后台 2026-09-19 14:36:30 +08:00
richjohnrambo 7c8b4d9b7c feat: add friend add and curfew controls 2026-09-18 10:55:33 +08:00
richjohnrambo 9ed8aaf142 refactor: reuse global aliyun moderation config 2026-09-17 00:25:04 +08:00
richjohnrambo 5173bc0aad fix: return default moderation policy when unpublished 2026-09-16 23:30:10 +08:00
richjohnrambo fec2a43b9c feat: add tenant content moderation controls 2026-09-16 22:21:42 +08:00
Austin 32491e9cdd fix: repair healthz mysql check and im tenant creation
- healthz: Scan(new(int)) is not supported by GoFrame, use .One() so
  the mysql check no longer reports a false failure
- im_tenant: set updated_by on insert for both im_tenant and
  im_tenant_config, otherwise new tenant creation fails with
  "Field 'updated_by' doesn't have a default value"
- gitignore: exclude .trae/ local debugging artifacts
2026-09-16 18:45:37 +08:00
richjohnrambo c1a6a41575 fix: update admin test environment config 2026-09-14 14:06:41 +08:00
richjohnrambo bd19a594ae Merge branch 'main' into dev
# Conflicts:
#	docs/backstage/IM-Kafka接入方案.md
#	docs/backstage/IM-Kafka接入范围识别.md
#	server/api/admin/imconfiginternal/im_config.go
#	server/api/admin/imuser/im_user.go
#	server/internal/consts/im_kafka.go
#	server/internal/controller/admin/sys/im_user.go
#	server/internal/controller/internalapi/imconfig/im_config.go
#	server/internal/library/imadmin/client.go
#	server/internal/library/imadmin/client_test.go
#	server/internal/library/imadmin/internal.go
#	server/internal/library/imkafka/command.go
#	server/internal/library/imtenant/db.go
#	server/internal/library/imtenant/db_test.go
#	server/internal/library/queue/kafkamq.go
#	server/internal/library/queue/queue.go
#	server/internal/logic/admin/member.go
#	server/internal/logic/sys/im_dead_letter.go
#	server/internal/logic/sys/im_group.go
#	server/internal/logic/sys/im_invite.go
#	server/internal/logic/sys/im_kafka_audit.go
#	server/internal/logic/sys/im_kafka_command.go
#	server/internal/logic/sys/im_tenant.go
#	server/internal/logic/sys/im_user.go
#	server/internal/model/input/sysin/im_group.go
#	server/internal/model/input/sysin/im_invite.go
#	server/internal/model/input/sysin/im_user.go
#	server/internal/queues/im_admin_command_result.go
#	server/internal/queues/im_audit_event.go
#	server/internal/queues/im_dead_letter.go
#	server/internal/service/sys.go
#	server/manifest/config/config.example.yaml
#	server/storage/data/generate/im_group_menu.sql
#	server/storage/data/generate/im_user_menu.sql
#	server/storage/data/im_registration_invite_hotgo.sql
#	web/src/views/im/registrationInvite/BatchViewModal.vue
#	web/src/views/im/registrationInvite/index.vue
#	web/src/views/im/registrationInvite/model.ts
#	web/src/views/imDeadLetter/index.vue
#	web/src/views/imDeadLetter/model.ts
#	web/src/views/imGroup/governance.vue
#	web/src/views/imGroup/members.vue
#	web/src/views/imKafkaAudit/model.ts
#	web/src/views/imKafkaAudit/view.vue
#	web/src/views/imKafkaCommand/index.vue
#	web/src/views/imKafkaCommand/model.ts
#	web/src/views/imKafkaCommand/view.vue
#	web/src/views/imUser/ResetPasswordModal.vue
#	web/src/views/imUser/governance.vue
#	web/src/views/imUser/index.vue
#	web/src/views/imUser/model.ts
#	web/src/views/imUser/view.vue
2026-09-13 23:43:51 +08:00
richjohnrambo 8b30b8241c feat: refine IM admin management workflows 2026-09-13 23:25:53 +08:00
richjohnrambo 6e65935e3c feat: manage global app release policies 2026-09-12 17:08:10 +08:00
richjohnrambo 2fb5102add feat: add invite user binding 2026-09-11 10:46:20 +08:00
richjohnrambo 964746c19b feat: add tenant login IP whitelist management 2026-09-09 09:39:55 +08:00
richjohnrambo 7d54bf785a feat: 完善IM用户管理与治理操作 2026-09-08 10:54:01 +08:00
richjohnrambo bb87d01644 feat: 完成鸽达达后台安全与审计改造 2026-09-07 11:50:29 +08:00
richjohnrambo f7f8cc0ef0 feat: add im kafka admin integration 2026-09-04 11:57:38 +08:00
richjohnrambo cde4480b51 feat: publish password reset via kafka 2026-08-28 14:18:27 +08:00
richjohnrambo 4779214591 feat: add im kafka admin integration 2026-08-28 00:05:54 +08:00
richjohnrambo d53b0c1b62 feat: add IM admin P2 configuration modules 2026-08-22 00:36:38 +08:00
richjohnrambo 5c3f6ae58d feat: add IM file policy and org exports 2026-08-21 23:07:06 +08:00
richjohnrambo 204f96e07a feat: add IM org and notification admin 2026-08-21 17:54:54 +08:00
richjohnrambo c89e35d0e0 feat: add IM admin P1 operations 2026-08-21 17:25:19 +08:00
richjohnrambo 77b19a8157 feat: complete IM group governance actions 2026-08-21 16:34:55 +08:00
richjohnrambo 21a5b97ac8 feat: add IM governance admin enhancements 2026-08-21 16:06:29 +08:00
richjohnrambo 543c7b624e feat: expand IM admin controls 2026-08-21 15:09:39 +08:00
richjohnrambo a2abaef3a6 feat: add IM admin management 2026-08-21 01:06:19 +08:00
richjohnrambo 89ba6bcff8 feat: add tenant-aware IM management console 2026-08-19 00:31:09 +08:00
richjohnrambo 331a55751d im 管理后台 2026-08-11 23:13:51 +08:00