kevin
|
b8720f413d
|
fix: 自助修改密码后断开 VPN 连接并登出所有 Web 会话
- auth.go: ChangePassword 失效所有会话(不再排除当前会话),调用 KickUser 断开 VPN 隧道
- ProfileView.vue: 改密成功后 logout 清除 token,跳转登录页并携带 msg 参数
- LoginView.vue: 读取 query.msg 显示"密码已修改,请重新登录"绿色提示
- zh.ts/en.ts: 新增 login.passwordChanged 国际化 key
|
2026-07-10 13:11:46 +08:00 |
|
kevin
|
129c6c7a96
|
fix: 密码长度上限校验 + 请求体大小限制防 DoS
- 新增 validatePassword 校验函数(6-72 字节,bcrypt 硬上限),统一应用于 ChangePassword/CreateUser/UpdateUser,超长密码返回清晰提示而非迷惑性的"密码加密失败"
- 新增 BodyLimit 中间件(http.MaxBytesReader),对所有 /api JSON 端点限制 1 MiB 请求体,防止内存耗尽型 DoS;/ws 走连接劫持不受影响
|
2026-07-09 15:51:10 +08:00 |
|
kevin
|
c1d560fd4a
|
feat: 会话管理 - 支持按设备粒度踢下线
- 新增 sessions 表,每次登录创建会话记录(记录 IP/UA)
- AuthMiddleware 改为基于 session 校验,可精确踢掉单个设备
- 自己改密码后踢掉其他设备,管理员改密码后踢掉该用户全部设备
- 新增 GET /api/me/sessions 查看活跃会话列表
- 新增 DELETE /api/me/sessions/:sessionId 踢掉指定会话
- 新增 DELETE /api/admin/users/:id/sessions 管理员强制下线某用户
- 兼容无 session_id 的旧 token,回退到 TokenInvalidBefore 校验
|
2026-07-03 10:52:39 +08:00 |
|
kevin
|
e65b31abb0
|
新增用户管理和个人信息功能,支持CRUD操作和密码修改
|
2026-07-03 10:18:08 +08:00 |
|
kevin
|
0634cadced
|
更新管理登录功能
|
2026-07-02 20:45:53 +08:00 |
|