Как синхронизировать базу данных и сеанс в codeigniter? - PullRequest
0 голосов
/ 05 сентября 2011

У меня возникла проблема, когда пользователь вошел в систему, и я назначил пользователю его идентификатор, например, 126. Но когда я выполняю поддержку или удаляю какого-то заблокированного пользователя, например, идентификатор пользователя 126 удаляется из базы данных, но пользователь 126 по-прежнему имеет номер 126 в своем сеансе. Как я могу «удалить» его содержимое сеанса, когда обнаружу, что в моей базе данных удален идентификатор пользователя? Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Есть два решения, о которых я могу подумать:

1.) Сохраняйте учетные данные пользователя в БД, каждый раз, когда пользователь выполняет действие, вы можете проверить учетные данные, а затем выгнать пользователя, если ужезапрещено.Я не думаю, что

2.) Кеширует зарегистрированных пользователей, кеш должен быть глобальным, чтобы сеанс заблокированного пользователя можно было проверить

0 голосов
/ 05 сентября 2011

Похоже, вы беспокоитесь о блокировке идентификатора 126, даже если он назначается новому пользователю.

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

Так что, если назначенное значение выше 1234, затем вы можете удалить то, что вы хотите, следующее значение будет 1235.

Так что ваша проблема на самом деле не проблема, как мне кажется.

...