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
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
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
0a21d7289e
Merge remote-tracking branch 'origin/dev' into dev
...
# Conflicts:
# server/api/admin/imgroup/im_group.go
# server/api/admin/imuser/im_user.go
# server/internal/controller/admin/sys/im_group.go
# server/internal/controller/admin/sys/im_user.go
# server/internal/library/imtenant/db.go
# server/internal/logic/admin/member.go
# server/internal/logic/sys/im_admin_scope.go
# server/internal/logic/sys/im_group.go
# server/internal/logic/sys/im_invite.go
# server/internal/logic/sys/im_registration.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/router/genrouter/im_invite.go
# server/internal/router/genrouter/im_registration.go
# server/internal/service/sys.go
# server/manifest/config/config.example.yaml
# server/storage/data/generate/im_audit_log_menu.sql
# server/storage/data/generate/im_group_menu.sql
# server/storage/data/generate/im_realname_menu.sql
# server/storage/data/generate/im_tenant_menu.sql
# server/storage/data/generate/im_user_menu.sql
# server/storage/data/generate/im_work_order_menu.sql
# server/storage/data/im_registration_invite_hotgo.sql
# web/src/api/imGroup/index.ts
# web/src/api/imUser/index.ts
# web/src/views/im/registrationInvite/BatchViewModal.vue
# web/src/views/im/registrationInvite/CreateModal.vue
# web/src/views/im/registrationInvite/index.vue
# web/src/views/im/registrationInvite/model.ts
# web/src/views/imGroup/governance.vue
# web/src/views/imGroup/members.vue
# web/src/views/imUser/index.vue
# web/src/views/imUser/model.ts
# web/src/views/imUser/view.vue
# web/src/views/system/config/ImRegistrationSetting.vue
2026-09-04 12:01:22 +08:00
richjohnrambo
4779214591
feat: add im kafka admin integration
2026-08-28 00:05:54 +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
642b7ec5da
im 管理后台
2026-08-17 09:52:02 +08:00