Для этого измените ваш config / core.php на использование сеансов, управляемых базой данных.
Configure::write('Session.save', 'database');
После этого также раскомментируйте следующую строку:
//Configure::write('Session.database', 'default');
Использование конфигурации БД по умолчанию - это то, что вам нужно в большинстве случаев.
Затем подготовьте базу данных для размещения сеансов с помощью консоли Cake:
cake schema create Sessions
Наконец, в вашем действии входа в систему проверьте, существует ли уже сеанс для пользователя, который только что вошел в систему, и аннулируйте / удалите его старый сеанс из таблицы сеансов.
Я сам раньше не использовал этот метод, но я полагаю, что идентификатор пользователя / имя пользователя хранится в поле data
таблицы сеансов (которое, вероятно, содержит сериализованный массив или что-то подобное).