Не достаточно простая задача для предоставления реальных примеров кода, но на высоком уровне, вы могли бы достичь этого путем отслеживания IP-сессий в БД.Если вы просто хотите разрешить только определенное количество активных сеансов целиком, вам нужно просто проверить базу данных IP-сессий, чтобы узнать, выполнили ли вы свою квоту, и затем разрешить или запретить следующий сеанс на основе этой проверки.,Чтобы расширить это, чтобы разрешить супер-администратору уничтожать сеансы, вы можете просто проверить, что у пользователя есть запись в БД, что означает, что существует допустимый сеанс, и удалить запись, чтобы «убить» сеанс.
Если вы хотите разрешить только 1 сеанс на пользователя, то при входе в систему сохраните запись для текущего IP-адреса пользователя и его UserId.Перезапишите или создайте новую запись для этого, затем в периодическом сеансе пользователя с проверкой подлинности вы убедитесь, что текущий Ip пользователей соответствует записи в таблице.Если он совпадает, это будет пользователь, который вошел в систему, если он не совпадает, тогда другой IP-адрес использует этот логин, и вы прервете их сеанс.