@MasterCopipaster

Можно ли как-то ограничить количество одновременных сессий для пользователя в Symfony 5?

В стандартной авторизации Symfony 5 пользователь может залогиниться сколько угодно раз с разных машин (или клиентов).
Есть ли какие-то практики, как ограничить кол-во этих сессий? Например я не хочу, чтобы пользователь мог открывать больше двух сессий. Как это можно реализовать? (интересует больше правильный алгоритм, нежели код).
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Мне кажется, что тут не совсем вопрос про симфони, но тем не менее отвечу.

Храните каждый сеанс пользователя в базе. Данные храните такие как ID пользователя, IP, user agent, тайм зону и т д. А в приложении проверяйте, если в пользователь зашёл с другого устройства (браузера), то говорите ему о том, что нужно завершить прошлый сеанс или этот сеанс будет автоматически удалён через 5 минут, если пользователь не будет продолжать этот сеанс.

Думаю, что это самое простое решение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы