четверг, 16 марта 2017 г.

Wayfinder и права доступа в MODX Evo

Сегодня опишу стандартную ситуацию на которую как обычно угробил пол вечера, хотя проблема элеентарная.

Исходные данные - MODX Evolution свежей версии 1.2
Что требуется - сделать ресурсы с ограниченным доступом. То есть чтобы одни пользователи имели возможность их просматривать (предварительно залогинившись конечно), а другие, которые не залогинились, не имели такой возможности.

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



создаем пользователя

Затем группу web пользователей. Назовем ее webgroup.

создаем закрытую группу пользователей

Затем создаем группу ресурсов - webresourse.

создаем закрытую группу ресурсов

В последней вкладке соединяем ссылками эти две группы документов и пользователей.

соединяем ссылкой группы пользователей и ресурсов

Сохраняем изменения и меняем какому-нибудь ресурсу права доступа на webresourse.


переводим документ в режим ограниченной видимости

В результате документ закономерно исчезает из меню, которое выводит Wayfinder в шапке документа. Логинимся пользователем который находится в группе webgroup. Логин/пароль верны, торжественный момент должен настать и ссылка на скрытый документ должна появиться.

Но не тут то было. Несмотря что я залогинился в другом браузере с очисткой всех возможных кэшей, скрытый документ не появлялся. Несколько часов гугления ни к чему не привели. Затем случайная мысль (по всей видимости наверно не случайная) заставила меня попробовать обратиться к "режимному" документу напрямую по ссылке. Frendly URL на сайте не были включены, поэтому я вбил id документа в хвосте get запроса в формате /index.php?id=ххх (где ххх - id документа).

Барабанная дробь... страница преспокойно открылась. Оказывается это скотина Wayfinder не выводил корректно документы у которых выставлены специальные права доступа. И по всей видимости никак исправить это возможности нету.

Поэтому придется делать это меню на других сниппетах, например Ditto. Жалко только что я как обычно узнал это после 100500й попытки заставить работать с виду абсолютно простую схему.

ps. Ditto отобразил все правильно и с первого раза. Так что рекомендую и вам, если не хотите потратить кучу времени.

Комментариев нет:

Отправить комментарий