fix: PCAndOther multi login policy can`t get old clients correctly (#3158)

This commit is contained in:
icey-yu 2025-02-24 15:29:39 +08:00 committed by GitHub
parent df1c8df693
commit 46f1a9c7a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -340,6 +340,15 @@ func (ws *WsServer) multiTerminalLoginChecker(clientOK bool, oldClients []*Clien
if constant.PlatformIDToClass(newClient.PlatformID) == constant.TerminalPC {
return
}
clients, ok := ws.clients.GetAll(newClient.UserID)
clientOK = ok
oldClients = make([]*Client, 0, len(clients))
for _, c := range clients {
if constant.PlatformIDToClass(c.PlatformID) == constant.TerminalPC {
continue
}
oldClients = append(oldClients, c)
}
fallthrough
case constant.AllLoginButSameTermKick:
if !clientOK {