Миниплагин "Remember Me".

В общем меня всегда мучило то, что если работа над сайтом происходит на нескольких компьютерах или браузерах под одним юзером, то активной остается только текущая сессия, а с остальных выкидывает. И приходя, допустим, домой, приходится логиниться повторно.

Хотелось сделать, как в соцсетях, и хранить каждую сессию отдельной строкой в БД.

В общем родился плагин (пока на модерации качать отсюда), который позволяет такое реализовать.
Суть проста — заменить уникальный индекс в таблице сессий на простой ну и сделать еще некоторые манипуляции, чтоб таблица не засорялась.

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

Тестил на на релизе 0.5.
Но с предыдущими релизами, начиная с 4.1, тоже должно работать.

UPD: В 1.3 исправлен глюк, связанный с выходом пользователя при включенном кеше.
ToDo: Сделать возможность удалять лишние авторизации в личном кабинете пользователя, пример можно заценить на фейсбуке, если войти с нескольких компьютеров. Там еще тебе предупреждение об этом вываливает при авторизации, мол под вашим логином числится стока-то авторизаций с таких-то ip, с таких-то браузеров и таких-то ОС.

UPD Для версии LS 1.0.1
Пожелания оставляйте в комментах.

23 комментария

avatar
плюс, осталось довести до совершенства
avatar
после нажатия на «выход» выход не происходит (((
avatar
версия ЛС какая? Плагин последней версии?
avatar
все все норм все как рукой сняло ))
avatar
Исправил глюк. Была проблема в кеше. Также нашел небольшую недоработку, касающуюся избыточности кода в методе Init() модуля юзер
avatar
Вылетел с фатальной ошибкой при активации. написал в багтрекер.
avatar
Это при включенном кеше? Попробуйте отключить его перед активациею. Либо сбросить после нее.
avatar
какие плагины стоят?
avatar
версия LS с гитхаба или релизная?
avatar
Приветствую! Будет ли плагин работать под 1.0?
avatar
я вообще не понимаю, почему нельзя это реализовать непосредственно в самом движке…
  • ARM
  • 0
avatar
… и оставить разрабов плагинов без пива :)
avatar
Ну разрабы движка то должны же понимать, что сейчас в инет выходят не только с компа, но и с планшетов, мобильников, на работе у друзей, из машин и тд. И это все может делать 1 человек. Я в инет выхожу вообще с 3 компов, 1 планшета + мобильник и со всех этих устройств я захожу, в том числе, и на сайт ЛС. Авторизуюсь только 1, так как бесит повторная авторизация на других.
avatar
Ну и ты же должен понимать, что все бесплатные движки живут за счет платных расширений, шаблонов, дизайнов. Какой же смысл все плюшки в движок пихать, профита нет.
avatar
Да, а насчет авторизации уже такая тема поднималась. Типа так советуют:
Есть два варианта:
1. посмотреть ключ на одном компе и прописать его на другом, тогда не будет просить авторизацию в течении недели.
2. заменить в User.class.php
$sKey=md5(func_generator().time().$oUser->getLogin());
на
$sKey=md5($oUser->getLogin().'_'.$oUser->getPassword());
avatar
1. Я не нашел ни у одного разработчика плюшки о которой вы пишите. Была одна единственная описанная в этом топике и та, похоже, нерабочая.
2. Ни один нормальный юзер не станет смотреть какие-то там ключи и прочую хрень. Он просто предпочтет авторизоваться по необходимости или просто останется читателем.
avatar
Значит 2 вариант попробуй, с заменой в User.class.php. Может поможет.
avatar
Было бы здорово
avatar
Обновил в каталоге для последней версии LS.
Внимание, плагин может плодить очень много записей в таблице сессий! Из-за того, что хранятся все авторизации юзера.
avatar
Во-первых, плагин не устанавливается (много раз на сайте описывалось) и судя по тикетам исправить это вы не в состоянии, а во-вторых, после удаления, а удалить его корректно невозможно, только вычистив plugins.dat остаются покореженные таблицы. Подскажите, как их вернуть назад. Кстати, история посещений юзеров и счетчики заблудившихся улетают — это неприятно.
avatar
Браузер Опера 22 определился как Chrome.
avatar
И при выходе выходит из всех сессий.
avatar
есть такое. стоит в todo сделать выход только из текущей
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.