А что сложного? Храните IP юзера и идентификатор сокета или ключ, что у вас там для идентификации сокетных соединений используется.
Если клиент отвалился - выбрасываем его из этого массива, если подцепился - старый хеш ключ заменяем новым (новая вкладка).
При соединении должна быть вызвана какая то функция авторизации, которая будет говорить "ок/нет". Ну и надо просто в каждый обработчик вставить проверку текущего идентификатора соединения на присутствие в массиве активных - если нет его, вызываем клиентский метод, в обработчике которого закрываем сокетное соединение с сервером и все.