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

Группа пользователей

Создаем группу пользователей, которым мы дадим доступ к закрытым страницам. Для этого открываем системное меню (в правом верхнем уголу) и выбираем пункт «Контроль доступа».

Нажимаем кнопку Новая группа пользователей.

Дальше нужно указать у только что созданной группы права доступа к контексту Web — Load, List and View.

Группа ресурсов

Теперь нужно создать группу ресурсов, в которую будут входить страницы для закрытого доступа. В верхнем меню админки выбираем пункт Содержимое > Группы ресурсов. В открывшемся окне нажимаем кнопку Создать группу ресурсов. Заполняем поля в диалоге группы ресурсов.

Нажимаем кнопку Сохранить. Уже здесь мы можем добавить приватные страницы в группу ресурсов — из правой части мышкой переносим нужную страницу в группу ресурсов слева. Но настройка еще не закончена. Теперь нам нужно отредактировать права доступа к группе ресурсов, потому что MODX по-умолчанию дает неправильные права. Идем опять в «Контроль доступа» и меняем доступ к группе ресурсов у групп "(аноним)" и «Users» на Load only и Load, List and View.

Зачем анонимам давать доступ к закрытым ресурсам? Если не дать, что MODX не сможет загрузить страницу и выдаст код 404 «не найдено». А так MODX загрузит страницу, проверит права и отдаст 403 «доступ запрещен». Кстати, желательно в системной настройке unauthorized_page указать id страницы, на которую MODX будет перенаправлять не прошедших проверку пользователей.

Добавить любую страницу в группу ресурсов можно на странице самого ресурса на вкладке «Группы ресурсов» отметив соответствующий чекбокс.

На этом настройка закончена. Теперь, когда гость попытается открыть страницу для авторизованных пользователей, он будет перенаправлен на страницу, которую вы указали в системных настройках в ключе unauthorized_page.

21 декабря 2015, 12:28   3010     0

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

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.