Предотвратить повторный вход в систему с FOSUserBundle

Наше приложение используетSymfony 2.0 а такжеMongoDB сFOSUserBundle для управления пользователями.

Клиент хочет запретить вход в систему с одним и тем же именем пользователя с разных устройств одновременно в своем приложении.

Наша идея состоит в том, чтобы аннулировать / удалить все другие сеансы для того же пользователя, когда происходит успешный вход в систему.

Проблема в том, что мы не можем сохранить сессию в БД, потому что обработчик Mongo Session был добавлен позже в версии 2.1.

Единственное решение, которое мы придумали, - это перебирать файлы сеанса, сохраненные в файловой системе, и проверять, сохранено ли имя пользователя в этом файле. Если это правда, мы просто удаляем файл и сеанс входа в систему в других местах прекращается. Конечно, мы должны проверить, что мы нетакже удалить текущий сеанс.

У кого-нибудь есть идея, как решить эту проблему? Если нет, есть ли какие-то скрытые ловушки, о которых мы должны знать?

Ответы на вопрос(1)

Ваш ответ на вопрос