Предотвратить повторный вход в систему с FOSUserBundle
Наше приложение используетSymfony 2.0 а такжеMongoDB сFOSUserBundle для управления пользователями.
Клиент хочет запретить вход в систему с одним и тем же именем пользователя с разных устройств одновременно в своем приложении.
Наша идея состоит в том, чтобы аннулировать / удалить все другие сеансы для того же пользователя, когда происходит успешный вход в систему.
Проблема в том, что мы не можем сохранить сессию в БД, потому что обработчик Mongo Session был добавлен позже в версии 2.1.
Единственное решение, которое мы придумали, - это перебирать файлы сеанса, сохраненные в файловой системе, и проверять, сохранено ли имя пользователя в этом файле. Если это правда, мы просто удаляем файл и сеанс входа в систему в других местах прекращается. Конечно, мы должны проверить, что мы нетакже удалить текущий сеанс.
У кого-нибудь есть идея, как решить эту проблему? Если нет, есть ли какие-то скрытые ловушки, о которых мы должны знать?