Чтение или изменение данных $ _SESSION вне контекста текущего сеанса - PullRequest
2 голосов
/ 10 марта 2010

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

Предоставляет ли php5 такое хранилище сеансов?

Ответы [ 2 ]

1 голос
/ 10 марта 2010

Нет, каждый сеанс связан с пользователем с помощью PHP / apache, поэтому вы также можете записать разрешения в БД. Чтобы сделать это быстрее, лучше всего это реализовать с помощью общего кэша (например, memcached).

0 голосов
/ 10 марта 2010

Зачем вам это нужно? Для меня это звучит как преждевременная оптимизация. Кроме того, как вы описываете, права пользователя будут потеряны, когда сеанс заканчивается.

Данные сеанса PHP по умолчанию хранятся в файлах во временном каталоге. Если вы действительно хотите это сделать, вы можете реализовать свою собственную библиотеку сеансов (начните здесь ).

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

...