c # Как мне разрешить одному и тому же пользователю войти в систему несколько раз, но ограничить его до определенного числа - PullRequest
0 голосов
/ 05 июня 2019

У меня есть проект, над которым я работаю.Пользователь регистрируется, что создает запись в таблице MySQL с их подробностями.Затем пользователь может приобрести 1, 5, 10 или неограниченную подписку.Число - количество разрешенных одновременных входов.(То есть количество одновременных экземпляров приложения на нескольких машинах)

Я посмотрел на Singleton, Multiton и Mutex, и все я не уверен, как заставить его работать в моей ситуации.

Моя идея: я думал о какой-то форме пульса для сервера MySQL, обновляющего ячейку Date time вместе с идентификатором сеанса, затем, если кто-то еще пытается войти в систему, он проверяет, насколько новым является datetime, если егослишком старый, разрешите вход в систему, если он слишком новый, в любом случае разрешите войти и закрыть другой сеанс.

1 Ответ

0 голосов
/ 05 июня 2019

Вероятно, лучшим решением для этого является решение на основе базы данных.

При подключении вы можете вернуть идентификатор сеанса.Затем каждые n минут отправляйте еще одно контрольное сообщение, которое обновляет время последнего сеанса для сеанса.Тем не менее, убедитесь, что вы проверяете подключение к сети, потому что в противном случае кто-то может просто отключить свой Wi-Fi и включить, сколько угодно.(конечно, это не имеет значения, если ваше приложение зависит от сети!)

Вам также необходимо убедиться, что сердцебиение вернется, если сеанс все еще действителен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...