easyAuth [1.0.0-beta]


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


Изначально компонент был разработан для платного доступа к видео-трансляции на сайте — администратор генерировал пароли, которые рассылались по почте с ограничением времени доступа.
Сейчас пришли в голову такие вот примеры использования:
  • Доступ к видеоконференции
  • Временный доступ к материалам для скачивания
  • Доступ к закрытому разделу с документами
Компонент умеет:
  • Ограничивать доступ по дате


  • Ограничивать доступ по «количеству входов»

  • Ограничивать доступ по количество времени, проведенном в «закрытом разделе»


  • Администратор в любой момент может заблокировать пользователя и его «выбросит» в течении 10 секунд

Компонент фиксирует количество входов пользователя, время в закрытом разделе.
Есть некоторые поля для пользовательской информации.


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

Демка фронта: easyauth.vo-it.ru/index.php?id=2

Обратите внимание, для фиксации времени пребывания и отключения пользователя в нужный момент, каждые 10 секунд компонент шлет ajax-запрос к серверу (когда пользователь авторизован). Таким образом, немного модифицировав код, можно, например, разлогинить всех пользователей сразу. :)

Использование компонента очень простое, достаточно вызывать сниппет isLoggedIn, который принимает 2 чанка — чанк формы авторизации и чанк с закрытым контентом.

Компонент в modstore, цена 490 рублей.

P.S. для тех, кто будет говорить, что хранить пароль в открытом виде плохо — это не пароли, это «коды доступа» =)
17 октября 2016, 13:35    Лев Вербицкий   G+  
14    773 +21

Комментарии (9)

  1. Василий Наумкин 17 октября 2016, 13:53 # 0
    Обратите внимание, для фиксации времени пребывания и отключения пользователя в нужный момент, каждые 10 секунд компонент шлет ajax-запрос к серверу (когда пользователь авторизован).
    Мне кажется, что правильнее просто ставить флаг в БД и выкидывать юзера при следующей загрузке страницы.
    1. Лев Вербицкий 17 октября 2016, 14:00 # +3
      Это тоже делается, но время в любом случае, надо же как то считать время в онлайне)
      1. Василий Наумкин 17 октября 2016, 14:01 # +2
        Тогда да, согласен.
    2. Dmitry L. 24 марта 2017, 02:15 # 0
      Товарищи, подскажите, как реализовать вывод контента (ресурсы в Коллекциях) на страницу (одна единственная, контент меняется) при входе определенного пользователя.
      Например, есть коллекция ресурсов Иванов Иван — список статей, при авторизации выводятся именно ресурсы, привязанные к авторизующемуся пользователю?
      1. Alexander V 16 апреля 2017, 11:34 # 0
        Вы не могли бы показать пример создание пользователя без админки и получение данных о достигнутых лимитах?
        API наверное какой-то есть?
        1. rifo_BLR 19 мая 2017, 12:26 # 0
          Демо не работает
          1. Andre 09 августа 2017, 17:34 # 0
            Каким образом реализовать скрытие части контента странички?
            Имеется ввиду если пользователь не авторизирован часть контента по хайдом.
            Такое решение используем на форумах тегами [[hide]]
            1. Andre 09 августа 2017, 17:49 # 0
              на вордпресе такое решение
              <?php if ( is_user_logged_in() ) { 
              echo "Содержание для зарегистрированных  пользователей"; } 
              else { 
              echo "Чтобы увидеть текст, Вам нужно авторизоваться"; } ?>
              а как с MODX
              1. Василий Столейков 09 августа 2017, 18:08 # +1
                Если на родном парсере MODX, то:
                [[!+modx.user.id:isloggedin:is=`1`:then=`Содержание для зарегистрированных  пользователей`:else=`Чтобы увидеть текст, Вам нужно авторизоваться`]]
                
                Если на парсере Fenom, то:
                {if '' | isloggedin}Содержание для зарегистрированных  пользователей{else}Чтобы увидеть текст, Вам нужно авторизоваться{/if}
                Или используя этот пакет: modx.com/extras/package/personalize (кстати, в нём можно увидеть и php-код, которые это делает.
              Вы должны авторизоваться, чтобы оставлять комментарии.