Доступ к странице фронтэнда
Наиболее темная и невнятная сторона modx, на мой взгляд, это права доступа к чему либо. Никак не пойму как сделать доступ к определенной странице сайта одному единственному пользователю.
Комментарии: 12
Делаете группу ресурсов, куда загоняете эту страницу.
Делаете группу пользователей, куда загоняете этого пользователя.
Расшариваете для этой группы пользователей эту группу ресурсов.
Делаете группу пользователей, куда загоняете этого пользователя.
Расшариваете для этой группы пользователей эту группу ресурсов.
Четкий, краткий и понятный ответ!
А страницу надо включить в группу ресурсов.
Не могу понять как в 2.4.0 создавать группу ресурсов.
Капец. Не ожидал найти их в меню «Содержимое».
Некропостер детектед!!!
И я о вас того же мнения. Однако в попытке отыскать правду, было как-то не до даты сообщений. И как всегда все оказалось проще чем казалось.
ИМХО — зря заминусовали. Вопрос-то стоял «как сделать доступ к определенной странице сайта одному единственному пользователю». С одной стороны да — ответили. Через группу и т.п. С другой стороны, это вопрос, который действительно касается слабой и темной стороны MODX-а — предоставление прав конкретным пользователям. Представьте, что вы запускаете социалку на MODX, где пользователи могут писать свои топики и предоставлять права каким-то отдельным друзьям. Сейчас, если пытаться такое реализовать, придется плодить 100500 групп пользователей. Потому что в MODX нет механизма предоставления прав на что-либо конкретно пользователям. Есть предоставление прав группам пользователей на группы ресурсов и т.п. А уже потом разбираться к каким группам относятся пользователи и документы. Это не есть гуд. И это действительно запутанно. Так же в MODX нет такого понятия как owner (то есть владелец сущности). На мой взгляд это тоже было бы правильно учитывать. Если я создатель какой-то сущности — значит я имею на нее все права. Это по логике. Но на практике такого нет.
В свое время я заморочился допиливанием механизма политик MODX-а, чтобы учитывались индивидуальные права пользователей, без необходимости добавления ресурсов и пользователей в группы. То есть можно было давать права как отдельным людям, так и отдельным группам. Конечно же пришлось использовать CRC. Если кому интересно, вот некоторые коды:
modzilla.class.php — основной класс модуля
modzillaproject.class.php CRC Проект
modzillaaccess.class.php кастомный класс политик безопасности.
modzillaaccessprojects.class.php что-то там тоже с правами связанное.
Писалось все это очень давно, так что в деталях многого не помню уже. Но это работало. По этому вопросу материал в помощь:
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/26.html
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/28.html
modxclub.ru/blog/113.html
Материал крайне мозговыносящий, но самый сок. Так что если освоите, понимать будете очень многое.
В свое время я заморочился допиливанием механизма политик MODX-а, чтобы учитывались индивидуальные права пользователей, без необходимости добавления ресурсов и пользователей в группы. То есть можно было давать права как отдельным людям, так и отдельным группам. Конечно же пришлось использовать CRC. Если кому интересно, вот некоторые коды:
modzilla.class.php — основной класс модуля
modzillaproject.class.php CRC Проект
modzillaaccess.class.php кастомный класс политик безопасности.
modzillaaccessprojects.class.php что-то там тоже с правами связанное.
Писалось все это очень давно, так что в деталях многого не помню уже. Но это работало. По этому вопросу материал в помощь:
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/26.html
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/28.html
modxclub.ru/blog/113.html
Материал крайне мозговыносящий, но самый сок. Так что если освоите, понимать будете очень многое.
зря заминусовали. Вопрос-то стоялНе зря.
Вопроса здесь вообще нет. Человек просто сожалеет о своей личной проблеме.
Никак не пойму как сделать доступ к определенной странице сайта одному единственному пользователю.
Будем иметь в виду, что тут еще скажешь?
Ну, это было мое личное мнение. Я его обосновал. А каждый будет считать как ему больше нравится.
Ну а если по теме — в MODX много чего нет, но почти всё можно добавить.
Этот вопрос можно решить вообще тупо «в лоб»: создать ТВ параметр access, прописать в него id юзеров и если id текущего юзера не попадает в этот список — делать редирект куда угодно.
Работы на 5 минут, один плагин, один ТВ и 10 строк кода (примерно).
Этот вопрос можно решить вообще тупо «в лоб»: создать ТВ параметр access, прописать в него id юзеров и если id текущего юзера не попадает в этот список — делать редирект куда угодно.
Работы на 5 минут, один плагин, один ТВ и 10 строк кода (примерно).
Да, можно и так. Можно еще дальше пойти — прописать свой класс на замену modRequest и там рулить права. То есть на основе той же твшки можно еще в своем реквестере отдать 404 (отправить в OnPageNotFound) и там на уровне плагина еще разрулить ситуацию. Но все это не очень будет работать на уровне $modx->getObject($class). А описанное мной выше как раз на этом уровне работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.