@MasterCopipaster

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы