Доступ к странице фронтэнда

Наиболее темная и невнятная сторона modx, на мой взгляд, это права доступа к чему либо. Никак не пойму как сделать доступ к определенной странице сайта одному единственному пользователю.
Артем
02 сентября 2015, 12:17
modx.pro
1
2 210
+2

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

Павел Романов
30 августа 2015, 09:35
1
+2
Делаете группу ресурсов, куда загоняете эту страницу.
Делаете группу пользователей, куда загоняете этого пользователя.
Расшариваете для этой группы пользователей эту группу ресурсов.
    Sergey Leleko
    30 августа 2015, 09:48
    0
    Четкий, краткий и понятный ответ!
      Сергей Шлоков
      30 августа 2015, 10:25
      0
      А страницу надо включить в группу ресурсов.
        Дмитрий
        05 ноября 2015, 06:15
        0
        Не могу понять как в 2.4.0 создавать группу ресурсов.
          Дмитрий
          05 ноября 2015, 06:29
          0
          Капец. Не ожидал найти их в меню «Содержимое».
            Антон Фомичёв
            05 ноября 2015, 09:30
            0
            Некропостер детектед!!!
              Дмитрий
              07 ноября 2015, 01:21
              0
              И я о вас того же мнения. Однако в попытке отыскать правду, было как-то не до даты сообщений. И как всегда все оказалось проще чем казалось.
        Fi1osof
        30 августа 2015, 16:32
        2
        +3
        ИМХО — зря заминусовали. Вопрос-то стоял «как сделать доступ к определенной странице сайта одному единственному пользователю». С одной стороны да — ответили. Через группу и т.п. С другой стороны, это вопрос, который действительно касается слабой и темной стороны 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

        Материал крайне мозговыносящий, но самый сок. Так что если освоите, понимать будете очень многое.

          Василий Наумкин
          30 августа 2015, 16:54
          +1
          зря заминусовали. Вопрос-то стоял
          Не зря.

          Вопроса здесь вообще нет. Человек просто сожалеет о своей личной проблеме.
          Никак не пойму как сделать доступ к определенной странице сайта одному единственному пользователю.

          Будем иметь в виду, что тут еще скажешь?
            Fi1osof
            30 августа 2015, 16:56
            0
            Ну, это было мое личное мнение. Я его обосновал. А каждый будет считать как ему больше нравится.
              Василий Наумкин
              30 августа 2015, 16:57
              +1
              Ну а если по теме — в MODX много чего нет, но почти всё можно добавить.

              Этот вопрос можно решить вообще тупо «в лоб»: создать ТВ параметр access, прописать в него id юзеров и если id текущего юзера не попадает в этот список — делать редирект куда угодно.

              Работы на 5 минут, один плагин, один ТВ и 10 строк кода (примерно).
                Fi1osof
                30 августа 2015, 17:00
                0
                Да, можно и так. Можно еще дальше пойти — прописать свой класс на замену modRequest и там рулить права. То есть на основе той же твшки можно еще в своем реквестере отдать 404 (отправить в OnPageNotFound) и там на уровне плагина еще разрулить ситуацию. Но все это не очень будет работать на уровне $modx->getObject($class). А описанное мной выше как раз на этом уровне работает.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12