Как лучше всего проверить, совпадает ли учетная запись пользователя, вошедшего в систему, или существует из базы данных? - PullRequest
0 голосов
/ 28 мая 2018

Это хорошая практика, если каждый раз, когда вошедший в систему пользователь обновляет или повторно входит на сайт, он будет проверять из базы данных, существует ли эта учетная запись или совпадает с базой данных, не жертвуя при этом производительностью сайта?

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

1 Ответ

0 голосов
/ 28 мая 2018

Установите сеанс и проверьте его на каждой соответствующей странице.Установите время ожидания, если это необходимо, и, если вход в систему чувствителен ко времени, например, в банках, где бездействие выводит вас из системы в течение X минут (обычно 5 или 10), вам понадобится постоянство, например, таблица БД или другое, например, Redis, где вы можете легче управлятьлогины пользователей с временными метками активности и т. д.

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

Тогда, если они нажмут что-то действительно чувствительное, вы можете снова попросить их ввести пароль и создать новый ключ сеанса.Как и в Amazon, вы можете просматривать определенные вещи в своей учетной записи даже после некоторого периода бездействия, но затем некоторые вещи требуют подтверждения пароля, например, просмотр личных данных и т. Д.

Если производительность сайта является проблемой, то это вероятноне узкое место.Запросы к базе данных и проверка сеанса являются основными требованиями, которых нельзя избежать.

Если такие вещи заметно медленнее, посмотрите на лучший код (или структуру, если он подходит), или кеш, если вы этого еще не сделалииметь его.

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