Миниплагин "Remember Me".
В общем меня всегда мучило то, что если работа над сайтом происходит на нескольких компьютерах или браузерах под одним юзером, то активной остается только текущая сессия, а с остальных выкидывает. И приходя, допустим, домой, приходится логиниться повторно.
Хотелось сделать, как в соцсетях, и хранить каждую сессию отдельной строкой в БД.
В общем родился плагин (пока на модерации качать отсюда), который позволяет такое реализовать.
Суть проста — заменить уникальный индекс в таблице сессий на простой ну и сделать еще некоторые манипуляции, чтоб таблица не засорялась.
Плагин не претендует на совершенство, так как только дает возможность идентифицировать юзера по разным сессиям, которые не будут существовать сами по себе. Ведь в кеш данные о сессии записываются с ключем, содержащим только идентификатор пользователя. В общем надо туда добавлять еще и ключ сессии. Пока не смог решить эту проблему красиво, да и особой надобности не было.
Тестил на на релизе 0.5.
Но с предыдущими релизами, начиная с 4.1, тоже должно работать.
UPD: В 1.3 исправлен глюк, связанный с выходом пользователя при включенном кеше.
ToDo: Сделать возможность удалять лишние авторизации в личном кабинете пользователя, пример можно заценить на фейсбуке, если войти с нескольких компьютеров. Там еще тебе предупреждение об этом вываливает при авторизации, мол под вашим логином числится стока-то авторизаций с таких-то ip, с таких-то браузеров и таких-то ОС.
UPD Для версии LS 1.0.1
Пожелания оставляйте в комментах.
Хотелось сделать, как в соцсетях, и хранить каждую сессию отдельной строкой в БД.
В общем родился плагин (пока на модерации качать отсюда), который позволяет такое реализовать.
Суть проста — заменить уникальный индекс в таблице сессий на простой ну и сделать еще некоторые манипуляции, чтоб таблица не засорялась.
Плагин не претендует на совершенство, так как только дает возможность идентифицировать юзера по разным сессиям, которые не будут существовать сами по себе. Ведь в кеш данные о сессии записываются с ключем, содержащим только идентификатор пользователя. В общем надо туда добавлять еще и ключ сессии. Пока не смог решить эту проблему красиво, да и особой надобности не было.
Тестил на на релизе 0.5.
Но с предыдущими релизами, начиная с 4.1, тоже должно работать.
UPD: В 1.3 исправлен глюк, связанный с выходом пользователя при включенном кеше.
ToDo: Сделать возможность удалять лишние авторизации в личном кабинете пользователя, пример можно заценить на фейсбуке, если войти с нескольких компьютеров. Там еще тебе предупреждение об этом вываливает при авторизации, мол под вашим логином числится стока-то авторизаций с таких-то ip, с таких-то браузеров и таких-то ОС.
UPD Для версии LS 1.0.1
Пожелания оставляйте в комментах.
23 комментария
2. Ни один нормальный юзер не станет смотреть какие-то там ключи и прочую хрень. Он просто предпочтет авторизоваться по необходимости или просто останется читателем.
Внимание, плагин может плодить очень много записей в таблице сессий! Из-за того, что хранятся все авторизации юзера.