fix: 管理员修改用户信息后断开对应 VPN 连接

UpdateUser 在改密/改角色/禁用用户时,失效 Web 会话的同时调用
KickUser 断开 VPN 隧道,与 ChangePassword 行为对齐。
This commit is contained in:
2026-07-10 13:17:45 +08:00
parent b8720f413d
commit a170a234b2
+4
View File
@@ -7,6 +7,7 @@ import (
"lmvpn/internal/db"
"lmvpn/internal/model"
"lmvpn/internal/vpn"
"github.com/gin-gonic/gin"
"golang.org/x/crypto/bcrypt"
@@ -192,6 +193,9 @@ func UpdateUser(c *gin.Context) {
if req.Password != "" || req.Role != "" || req.Status != nil {
db.DB.Model(&model.Session{}).Where("user_id = ?", id).Update("invalid", true)
if vpn.VPN != nil && vpn.VPN.Running() {
vpn.VPN.KickUser(uint(id))
}
}
db.DB.First(&user, id)