Есть в БД таблица tbl_users в которой хранится информация о пользователях, в этой таблице есть поле роли пользователя (допустим 1 - пользователь, 2 - модератор и т.д.).
Есть таблица привилегированных пользователей, в которых хранится id пользователя и время на которое его дали, (допустим месяц то-есть до 25.03.2016).
и нужно что бы по истечению этого времени роль пользователя сменилась с привилегированного к обычному.
пока в идеи проверять пользователей(привилегированных) когда они лазят по сайту и если дата истекла изменить его роль. но я так понимаю это не экономно.. если есть идеи подскажите
Вариантов есть 3:
1) Проверять истечение срока при логине. Достаточно экономично и работает. Но если сессия висит на сайте долго то тут можно прогадать и пользователь не потеряет своей роли.
2) Проверять истечение срока при каждом запросе к сайту, ну это действительно может быть дороговато. Зато точность будет на высоте.
3) Как мне кажется самый правильный. cron задание которое по расписанию проверяет все записи и блочит если надо.