admin / 10.04.2018

Авторизация, регистрация пользователей, личный кабинет и основы контроля доступа в MODX Revolution

17 октября&nbsp2011 г.

У CMF MODx доступ к админ панели осуществляется по адресу sitename.ru/manager.

Сменил хостинг и столкнулся с проблемой доступа к админке MODx Revolution своего сайта.

А все дело в том, что хостер по адресу sitename.ru/manager предоставляет доступ к админ-панелиISPmanagerхостинга, и, естесственно, все это дело перехватывается.

В настройках домена в ISPmanager пытался убрать галку «Отключить ISPmanager», которая должна была отключить его для заданного домена, но, к сожалению, это не проканало (слышал, что изменения вступают не сразу). Пришлось извращаться.

Для начала стоит определиться с адресом для административной панели и переименовать папку manager на то, что Вы придумали, например, adminpanel. Затем, в файле /core/config/config.inc.php ищете строчки:

и меняете этот путь на нужный:

После этого в phpMyAdmin или где Вам удобнее находите табличку от своего MODx’а и в таблице modx_workspaces меняете поле path на «/modxfolder/directory/adminpanel/» (без «).

На всякий случай, удаляем содержимое папки /core/cache.

Теперь у Вас есть доступ к админ панели MODx Revolution по другому адресу.

ИсточникАвтор: Артур Минимулин ⚫ 17 октября&nbsp2011 г. ⚫ Тэги:MODx, Revolution, ISPmanager, Хостинг

Как разблокировать пароль пользователя админ-панели MODX Evo

Если заблокировали пользователя, за то, что слишком много раз ввел неверный пароль, то для снятия блокировки есть 2 метода — ждать завершения (время блокировки меняется в админке, раздел «Пользователи») или снять блокировку через MySQL.

Рассмотрим второй вариант:

  1. Заходим в через phpMyAdmin. Находим таблицу с именем modx_user_attributes (Важно: Префикс «modx_» может быть другим!), обзор таблицы, открываем на редактирование строку с нужным ником юзера, например admin, и меняем на 0 (ноль) содержимое полей (если там что-то есть):
    blocked, blockeduntil, logincount, failedlogincount;
  2. Выходим из phpMyAdmin, обновляем страницу входа в админку, все должно работать.

Как сменить пароль пользователя админ-панели MODX Evo

Если Вы безвозвратно забыли пароль, то можно его сменить:

  1. Заходим в через phpMyAdmin.

    MODX — Login (Регистрация пользователей)

    В таблице modx_manager_users у нужного пользователя значение в поле password меняем значение на:

    5f4dcc3b5aa765d61d8327deb882cf99

    Теперь пароль от админки — password

  2. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, все должно работать.

Как разблокировать пароль пользователя админ-панели MODX Revo

Если при входе в админ-панель управления сайтом ввести несколько раз (по-умолчанию 3 раза) неправильно логин или пароль, то система управления вас заблокирует и вы будете видеть надпись «очень много неудачных попыток войти вы заблокированы».

Самые простые решения:

  1. Нажмите «Забыли свой пароль?» укажите свой «E-mail учетной записи» и вам придёт на почту ссылка со сбросом пароля.
  2. Если по какой-то причине вы не знаете «E-mail учетной записи» или к этой почте нет доступа, то можно восстановить доступ, сменив почту в phpMyAdmin:
    Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и в поле email меняем почту на свою и возвращаемся к пункту 1 для запроса на смену пароля.
  3. Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и меняем на 0 (ноль) содержимое полей (если там что-то есть):
    blocked, blockeduntil, failedlogincount;
  4. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, после этого можно зайти в админку под своим логином и паролем.

Как сменить пароль пользователя админ-панели MODX Revo

  1. Заходим в через phpMyAdmin. В таблице modx_users у нужного пользователя значение в поле hash_class ставим hashing.modMD5, поля salt и cachepwd очищаем, а в поле password меняем значение на:

    5f4dcc3b5aa765d61d8327deb882cf99

    Теперь пароль от админки — password

  2. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, все должно работать.

Конкурс ITPrincess: https://goo.gl/lavFta

Всем привет! Сегодня мы рассмотрим настройку и разграничение прав в MODx Revolution. Создадим нового пользователя manager, ограничим его как следует и назначим соответствующие права на редактирование ресурсов и файлов.

Поделиться

Поделиться

Класснуть

Плюсануть

Запинить

Полный алгоритм действий по настройке прав контент менеджера MODx

1. Создание нового пользователя и назначение прав

  • Переходим в меню: «Настройки» > «Контроль доступа»
  • Переходим на вкладку «Политики доступа»
  • Копируем «Content Editor», редактируем и называем новую политику «Менеджер»
  • Устанавливаем разрешения:
    • Установить галку «Изменять права доступа (chmod) к каталогам»
    • Установить галку «Создавать каталоги в файловой системе»
    • Установить галку «Получать список подкаталогов для каталога в файловой системе»
    • Установить галку «Переименовывать каталоги в файловой системе»
    • Установить галку «Создавать файлы»
    • Установить галку «Смотреть список файлов в определенном каталоге»
    • Установить галку «Использовать диспетчер файлов»
    • Установить галку «Удалять файлы»
    • Установить галку «Видеть дерево файлов в левой навигационной панели»
    • Установить галку «Изменять файлы»
    • Установить галку «Загружать файлы в папку»
    • Установить галку «Просматривать содержимое файла»
    • Установить галку «Использовать пакеты в системе управления пакетами»
    • Установить галку «Использовать страницу «Поиск»»
    • Сохранить.
  • Переходим в меню: «Настройки» > «Контроль доступа»
  • Переходим на вкладку: «Группы пользователей & Пользователи»
  • Создаем новую группу пользователей и задаем имя «Контент менеджеры»
  • Устанавливаем в окне новой группы пользователей контексты web, mgr
  • Политика бэкэнда в окне новой группы: «Менеджер» + Сохранить
  • Новая группа пользователей «Контент менеджеры» > Редактировать
  • Переходим на вкладку: «Права доступа»
  • На вкладке «Доступ к контекстам» редактируем mgr, web по очереди
  • mgr, web > редактировать, устанавливаем «Политика доступа» как «Менеджер» + Сохранить
  • Переходим в меню «Управление» > «Пользователи» и создаем нового пользователя по кнопке «Новый пользователь»
  • Имя manager, указываем E-mail менеджера, устанавливам радиобаттон ниже как «Я укажу пароль сам» и задаем пароль
  • Переходим на вкладку «Права доступа» > «Добавить пользователя в группу»
  • Группа пользователей: «Контент Менеджеры», Роль: «Super User»
  • Установить чекбокс «Активный» + Сохранить
  • Переходим в меню «Управление» > «Перезагрузить права доступа»

2.

Меняем путь админки в MODx Revo

Ограничения на просмотр файловой системы

2.1. Добавляем источник файлов

  • Переходим в меню: «Медиа» > «Источники файлов»
  • Скопируем «Filesystem»
  • Отредактируем скопированный источник
  • Название: «Images»; basePath, baseUrl: «assets/images/»
  • Переходим в меню: «Настройки» > «Контроль доступа»
  • Отредактируем группу пользователей «Контент менеджеры» правой кнопкой мыши
  • Переходим на вкладку: «Права доступа» > «Доступ к источнику файлов» и добавим новый источник по кнопке «Добавить источник файлов»
  • Источник: Images, Минимальная роль: Member — 9999, Политика доступа: Media Source Admin
  • Сохранить; Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа»

2.2. Удаляем источник «Filesystem» для manager

  • Переходим в меню: «Медиа» > «Источники файлов»
  • Filesystem > Редактировать
  • Переходим на вкладку: «Права доступа», нажимаем «Добавить группу пользователей»
  • Группа пользователей: «Administrator», Минимальная роль: «Super User — 0», Политика: «Media Source Admin» + Сохранить
  • Переходим в меню: «Медиа» > «Источники файлов»
  • Images > Редактировать
  • Переходим на вкладку: «Права доступа», нажимаем «Добавить группу пользователей»
  • Группа пользователей: «Administrator», Минимальная роль: «Super User — 0», Политика: «Media Source Admin» + Сохранить

3. Управление группами ресурсов

  • Переходим в меню: «Содержимое» > «Группы ресурсов»
  • Создать группу ресурсов
  • Имя: «Администратор», Контексты: «web,mgr»
  • Установить галку «Автоматически дать доступ группе Administrator»
  • Добавить элементы в новую группу «Администратор», которые мы хотим скрыть от менеджера
  • Сохранить; Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа»

На этом все, друзья 🙂

Доброго времени суток друзья.

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

Первое, что необходимо сделать, это само собой установить пакет Login из официального репозитория. Этот процесс мы описывать не будем, все и так понятно.

Второе.

MODX: как сбросить пароль или получить доступ на сайт?

Создаем необходимые ресурсы:

  1. Авторизация пользователя (если форма входа на сайт будет располагаться на отдельной странице);
  2. Регистрация пользователя
  3. Активация пользователя
  4. Сброс пароля
  5. Сброс пароля – обработчик (эта страница будет обрабатывать восстановление пароля на самом деле)
  6. Информация о пользователе
  7. Редактирование профиля
  8. Выход из системы

Третье. Настраиваем права для будущих пользователей.

Переходим в раздел Сайт -> Группы ресурсов, создаем новую группу ресурсов, называем ее к примеру, для пользователей, и указываем контекст WEB

Переходим в раздел Контроль доступа -> Группы пользователя и создаем новую группы пользователей «Пользователи»

Далее редактируем только что созданную группу пользователей:

Переходим в раздел Разрешения и настраиваем следующие параметры:

Доступ к контекстам: Контектс: Website (web), Минимальная роль: Member – 9999.

Доступ к ресурсам: пишем созданную нами группу ресурсов «для пользователей»

Нажимаем «Сохранить».

Четвертый шаг.

Добавляем сниппеты в созданные ресурсы:

На страницу авторизации в месте вывода формы входа на сайт добавляем:

Чанк с шаблоном вывода формы регистрации можно подсмотрель в официальной документации.

Перейдем к странице регистрации:

Вывод сниппета выглядит так:

Посмотрим на параметры:

successMsg – сообщение, которое будет выводиться при успешной регистрации пользователя

activationEmailSubject – тема письма со ссылкой на активацию аккаунта

activationResourceId – ID служебного ресурса, который будет выполнять активацию уже созданного аккаунта

usergroups – группы, в которые будет добавлена учетная запись пользователя

Содержимое чанка с формой регистрации.

Активация аккаунта.

Параметры, которые мы используем:

Authenticate – если указана 1, как у нас, система сама произведет вход пользователя в систему

redirectTo – ID ресурса на который будет переадресован пользователь после успешной авторизации

Сброс пароля и восстановление.

Вызов сниппета сброса пароля:

Параметры, которые мы используем:

resetResourceId – ID страницы обработчика сброса пароля

redirectTo – ID ресурса, на который мы переправляем пользователя после сброса пароля (в нашем случае – это страница с формой авторизации)

Также на странице обработчике сброса пароля мы вызываем вот такой сниппет:

В параметре loginResourceId указываем ID страницы с формой авторизации

Информация о пользователе:

Для того чтобы вызвать информацию о пользователе, авторизованном на сайте, на заранее подготовленной странице вызываем сниппет:

Ниже указываем поля, необходимые для вывода:

Имя пользователя: [[+username]]

Полное имя: [[+fullname]]

Email: [[+email]]

Номер телефона: [[+phone]]

Адрес: [[+address]]

Ну и ссылку на ресурс с редактированием профиля.

Редактирование профиля.

Для редактирования профиля выводим сниппет:

Ниже выводим поля, которые нужно редактировать, шаблон также можно получить из документации к сниппету.

Выход из системы.

Для выхода из системы вам необходимо в нужном для вас месте указать ссылку:

Вместо вывода.

Мы закончили с вами разбирать авторизацию пользователей с системе под управлением CMF MODX.

Надеюсь вам все понятно, и вы без труда сможете воспользоваться этим уроком.

Авторизация пользователя на сайте

май3, 2015

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

Основы работы с ModX

Тогда читаем, как это сделать

В статье Работа с пользователями через Modx API мы уже рассматривали, как получить список пользователей на сайте и добавить нового. В этой статье мы посмотрим, как реализовать авторизацию на сайте и разлогинивание. В Modx Revo есть замечательная штука под названием процессоры. Через них мы и реализуем нашу задумку.

Авторизация пользователя на сайте.

Этот код помещается во внешний файл, ему аяксом передаются 2 POST-параметра, username и password. Далее происходит проверка на существование пользователя и правильность введенного пароля. В случае ошибок возвращается соответствующий результат.
Как подключить Modx API во внешнем файле, читайте здесь try { if (!isset($_POST[‘username’]) or !isset($_POST[‘password’])) { throw new Exception(‘Произошла ошибка. Не определены параметры’); } $username = addslashes($_POST[‘username’]); $password = addslashes($_POST[‘password’]); $count = $modx->getCount(‘modUser’, array(‘username’ => $username)); if($count == 0) { throw new Exception(‘Пользователь с таким номером не найден’); } $resp = $modx->runProcessor(‘/security/login’, array( ‘username’ => $username, ‘password’ => $password, ‘rememberme’ => true )); if($resp->isError()) { throw new Exception(‘Неправильно введен пароль’); } echo json_encode(array(‘code’ => 0, ‘message’ => ‘Пользователь авторизован’)); } catch (Exception $e) { echo json_encode(array(‘code’ => -1, ‘message’ => $e->getMessage())); }

На стороне клиента принимаем ответ от сервера и в зависимости от кода возврата решаем, что делать с пользователем

Разлогинивание, выход пользователя.

Здесь совсем чуть-чуть try { $resp = $modx->runProcessor(‘/security/logout’); if($resp->isError()) { throw new Exception(‘Неправильно введен пароль’); } echo json_encode(array(‘code’ => 0, ‘message’ => ‘Пользователь вышел’)); } catch (Exception $e) { echo json_encode(array(‘code’ => -1, ‘message’ => $e->getMessage())); }

Понравилась статья? Поделись с другими!

Создание удобной формы авторизации в MODX Revolution с помощью Login

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

Требования к уроку:

В этом уроке я буду использовать Twitter Bootstrap modal JS для всплывающего окна входа, чтобы пользователь не переключался на страницу входа, а потом переходил назад.
Итак пропишем в нашем шаблоне пути к необходимым библиотекам.

<script src=»https://steptosleep.ru/wp-content/uploads/2018/06/71032.jpg» type=»text/javascript»></script> <script src=»https://steptosleep.ru/wp-content/uploads/2018/06/66874.jpg» type=»text/javascript»></script> <link href=»/assets/components/themebootstrap/css/bootstrap.css» rel=»stylesheet»> <link href=»/assets/components/themebootstrap/css/bootstrap-responsive.min.css» rel=»stylesheet»>

Если вы установили шаблон Bootstrap, то там уже всё прописано в чанке Head.

Авторизация в админке MODEX

Модальное окно будет вызывать кнопка «Вход», создадим код кнопки и код модального окна, в которое вставим вызов сниппета Login:

<a data-toggle=»modal» href=»#myModal» class=»btn»>Вход</a> <div id=»myModal» class=»modal hide fade» tabindex=»-1″ role=»dialog» aria-labelledby=»myModalLabel» aria-hidden=»true» style=»display: none; «> <div class=»modal-header»> <button type=»button» class=»close» data-dismiss=»modal» aria-hidden=»true»>x</button> </div> <div class=»modal-body»> [[!Login?]] </div>

Обратите внимание, что сниппет !Login вызывается некешированно!

Кнопка вход запускает модальное окно — контейнер с id=»myModal». Более детально можете рассмотреть настройку модального окна в документации по modal.js внизу поста ссылка.
Далее нам хотелось бы, чтобы для вошедшего пользователя модальное окно не всплывало, а была просто кнопка «Выход» и при клике на неё пользователь выходил. Из документации Login получаем код кнопки:

<a href=»[[~21? &service=logout]]» title=»Logout»>Logout</a>

× 21 — это ИД ресурса, где находится вызов сниппета Login

При входе пользователь получает user.id с определённым значением, для анонимного пользователя (Anonymouse) данное значение user.id=0. Воспользуемся этим и переделаем код нашей кнопки, используя условные фильтры вывода:

[[!+modx.user.id:is=`0`:then=`<a data-toggle=»modal» href=»#myModal» class=»btn»>Вход</a>`:else=`<a class=»btn» href=»[[~21? &service=logout]]»>Выход</a>`]]

Вот и все!

3059

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*