Я работаю над приложением с использованием Laravel 5.2.45, которое взаимодействует с ионным интерфейсом и с серверной стороны тестируется с использованием Postman. Я немного застрял о том, как правильно осуществить проверку, чтобы увидеть, если сеанс пользователя уже активен и регистрируется в Ниже приводится описано сценарий:.Laravel 5.2 или 5.3: Как правильно выполнить проверку, чтобы узнать, является ли сеанс уже зарегистрированным
Удаление локального хранилища: Say пользователь регистрируется с система и вошла в систему. Вся соответствующая информация возвращается при тестировании в ионном браузере и в почтальоне. Кроме того, сеанс генерируется в базе данных, а не в файле (как и предполагалось, нет, мы не хотим использовать файлы для сеансов). Теперь скажите, что пользователь проверяет браузер и удаляет данные локального хранилища и удаляет всю кешированную информацию и файлы cookie. После удаления всех сохраненных данных на стороне клиента пользователь пытается войти в систему с теми же учетными данными. Здесь возникает проблема.
Проблема:
Когда пользователь нажимает маршрут/входа в систему, это будет автоматически генерировать еще одну новую сессию в базе данных без необходимости сначала проверяется, есть ли уже другой активный сеанс в БД. Это происходит каждый раз, когда я просматриваю маршрут/логин. По сути, если кто-то должен был войти в систему, а затем удалите их локальное хранилище и снова войдите в систему (и сделайте это 1000+ раз), они могут в конечном итоге потопить базу данных с неисправными сеансами в таблице сеансов, все они привязаны к учетной записи пользователя.
Единственный раз, когда кто-то должен иметь несколько сеансов в таблице сеансов, когда они входят в систему с двух отдельных устройств. В этом случае, однако, в это время должно быть активным только 1 сеанс, но в базе данных все равно будет записано 2 сеанса для этого пользователя.
Вопрос: Как или где бы я осуществить чистый, правильный путь для системы, чтобы проверить через Middleware, что уже есть живой/активный сеанс в базе данных и Аутентифицировать/Attach учетных данных, пользователь пытается войти в систему с помощью активного сеанса в БД на этот активный сеанс?
Этот вопрос основан на чистой установке Laravel (5.2.45) или выше. Если дополнительный код не был добавлен на серверной стороне, и не используются шаблоны блейд-серверов NO. Перенаправление происходит через ионную платформу, и при тестировании в Postman следует ожидать возвращения данных.
Где я пошел:
Ссылка ниже точной, но не достаточно описательный, как реализовать его и принять его дальше, потому что у меня есть другие процессы, которые должны произойти после того, как она делает Auth :: чек() how to check if user is logged in by his session in route and then call controller method in laravel?
Любая помощь в этом очень ценится. Спасибо!
Спасибо за быстрый ответ. Я исследую вашу концепцию и применяю, если все будет проверено. Если я в конечном итоге сделаю это, я отмечу как ответ! Еще раз спасибо за помощь в этом. –
Концепции, показанные в приведенном вами примере, помогли мне потратить много времени на устранение основной причины моих проблем и что делать с тем, как правильно выполнять обработку сеанса. Я опубликую результат того, что я получил в свое время, когда я стабилизировал все в надежде помочь другим, кто может столкнуться с теми же проблемами, которые я обнаружил. Еще раз спасибо! –
@ user3124770 Я очень надеюсь, что это лучшее решение для вас. – num8er