Несколько пользователей в одной учетной записи: данные сеанса

#php #session #codeigniter #multiple-users

#php #сеанс #codeigniter #несколько пользователей

Вопрос:

Я полагаю, что это должно быть возможно, поскольку это требование, заданное моим руководителем. Существует несколько типов учетных записей, одна из них — учетная запись «компании», которая должна позволять всем сотрудникам компании, имеющим эти учетные данные, входить в систему одновременно.

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

Ответ №1:

Да, вы можете хранить сеансы в своей базе данных, если хотите. Хороший способ сделать это — создать таблицу, подобную сеансам, которая хранит состояния. Поэтому, если у вас есть корзина, вы можете создать таблицу корзины, которая представляет, какие товары есть в корзине, и воспроизвести ее после повторного входа пользователя в систему.

Ответ №2:

Информация о сеансе основана не на вашей учетной системе, а на системе посетителя (cookie). Если вы не хотите, чтобы вся информация была доступна всем пользователям, вошедшим в учетную запись компании (в чем я сомневаюсь), вам не нужно хранить какую-либо информацию в базе данных.

Для хранения данных вы можете просто продолжать использовать session (как, я полагаю, вы уже делаете для «обычной» учетной записи.

Комментарии:

1. На самом деле, первое утверждение неверно. Если бы сеансы были основаны на клиенте, это было бы очень, очень плохо для безопасности 🙂 Сеансы генерируются с сервера. Кроме того, сеанс не является постоянным, как база данных, поэтому срок его действия истекает. Вот почему иногда требуется база данных.

2. каждый сеанс уникален и не может быть общим для «всех пользователей»