1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Система прав XenForo

Тема в разделе "Советы, руководства и видео-уроки", создана пользователем infis, 09.10.2011.

Загрузка
  1. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Данная статья является переводом статьей с официального форума:
    Permissions
    Administrators

    Плюс сюда добавлена информация из поста Brogan'а, где он разъясняет некоторые нюансы.

    Права

    У XenForo есть очень мощная система для того, чтобы управлять тем, что Вашим пользователям разрешают сделать. Это называют системой прав. Разрешения могут быть установлены на многих уровнях, таких как группы пользователей, пользователь и разделы. Права администратора управляются отдельно.​

    Базовые понятия

    Участие в разных группах и объединение прав

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

    Приоритет назначения права

    Каждое право может быть установлено в различное значение. Если пользователь в нескольких группах или имеет определенное право, это может вызвать многократные конфликтные значения для прав. Например, пользователю одновременно установленно разрешение и запрет на просмотр раздела. Так что будет приоритетным?​

    Приоритет значения права устанавливается в таком порядке: (сначала самый высокий приоритет)​

    • Никогда - это не дает право. Никогда не может переопределяться, поэтому нужно использовать аккуратно.
    • Разрешено - это предоставит право.
    • Не установлено (Нет) - это не дает право. Самое низкое приоритетное значение; любое явное указание переопределяет его.
    Таким образом, если для пользователя "Не установлено (Нет)" и "Разрешено", окончательное значение будет "Разрешено". Для проверки разрешений имеется система тестирования (Пользователи -> Права -> Проверить права).​

    Заметьте, что терминология прав немного отличается для разрешений разделов.​

    Совокупность прав с использованием нескольких групп

    У форумов обычно есть множество классов (групп) пользователей, такие как обычные пользователи, модераторы и администраторы. У более крупных форумов может быть больше классов (групп), включая привилегированных пользователей и других. Отслеживание прав может быть очень не простым. Таким образом, важно стандартизировать подход к назначению Вами прав.​

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

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

    • Registered (Зарегистрированный) - это группа по умолчанию; для всех зарегистрированных пользователей.
    • Premium (Привилегированный) - это пользовательская группа, которую мы создадим, чтобы дать дополнительные права.
    Для этого мы должны удостовериться, что группа зарегистрированных не использует значения "Никогда", поскольку это не может быть переопределено.​

    Когда создаем привилегированную группу пользователей, мы устанавливаем права в "Не установлено (Нет)". Это нужно для того, чтобы пользователь, находясь одновременно в группе зарегистрированных и привилегированных, наследовал все права из группы "Зарегистрированные". Таким образом, в привилегированной группе мы должны установить только дополнительные разрешения "Разрешено" там, где это нужно.​

    То же самое может использоваться, чтобы дать определенный групповой доступ к специальному форуму (разделу).​

    Права раздела

    В дополнение к указанию прав для групп пользователей и пользователей можно указать права на определенных разделах. Как и прежде, они могут быть применены к группам пользователей и пользователям.​

    Терминология и приоритеты права раздела

    Права раздела исходят из тех же понятий, что права группы пользователей и пользователя, но терминология несколько отличается. Приоритет: (сначала самый высокий приоритет)​

    • Никогда - это не дает право и не может быть переопределено.
    • Разрешено - это дает право (разрешает).
    • Отозвать - это не дает право, но может быть переопределено.
    • Наследовать - это наследует значение от родителя. См. ниже.
    Право "Никогда" не может переопределяться, даже в дочернем разделе. Используйте это аккуратно.​

    Право "Наследовать" позволяет наследовать право от родительского раздела. Если не будет никакого родительского раздела, то значение берется, исходя из прав пользователя и группы пользователей.​

    Закрытые (скрытые) разделы

    Устанавливая права для раздела, у Вас есть опция, чтобы отметить его закрытым (приватным). Это означает, что ни у кого не будет к нему, если не будет явно задано право просмотра раздела - установка "Разрешено".​

    Например, чтобы сделать форум для администраторов и модераторов, Вы отметили бы раздел как закрытый (приватный) и затем установили бы просмотр раздела в "Разрешено" для групп администраторы и модераторы.​

    Проверка прав

    Это может понадобиться, чтобы удостовериться, что Вы правильно установили права пользователя. Для этого XenForo имеет систему проверки прав. Вы вводите имя пользователя, и Вам будет показан форум, как будто Вы являетесь этим пользователем.​

    Пожалуйста, имейте в виду следующие нюансы:​

    • Вы не будете зарегистрированы как пользователь, которого Вы проверяете. Вы не будете видеть их личные сообщения, отслеживаемые темы и т.д.
    • Специфичные для пользователя ограничения, такие как бан или другие запреты, не будут на Вас распространяться.
    • Хотя права применяются к Вам, Вы имеете доступ что-то сделать только с использованием Ваших собственных прав, а не того пользователя, которого Вы проверяете. То есть Вы можете редактировать только собственные сообщения, а не сообщения, созданные проверяемым пользователем.
    Чтобы выйти из проверки прав, щелкните по "Права доступа от ..." наверху страницы и подтвердите, что Вы хотите вернуться к использованию Ваших собственных прав.​

    Права администратора

    Права администратора являются абсолютно отдельными от группы пользователей, пользователя и прав раздела.​

    Администраторы - это специальные пользователи, у которых есть право, чтобы получить доступ к Панели управления (ACP - Administrator Control Panel).

    Любому пользователю можно присвоить статус администратора. Для этого нужно перейти в Пользователи - > Администраторы. Вверху над списком администраторов есть кнопка "Создать нового администратора".

    По мере ввода имени пользователя система будет предлагать имена существующих пользователей, подходящих к набираемому имени.

    Примечание: администратор XenForo имеет полномочия получить доступ к системам в пределах ACP. При этом он не обязан быть модератором. Если Вам необходим пользователь как для использования ACP, а также для модерирования форума, Вы должны будете сделать такого пользователя также и как модератором.

    Участие в группах пользователей

    У администраторов нет никаких определенных прав для работы во фронтэнде (как обычного пользователя или модератора). Но им можно предоставить права фронтэнда, добавляя их к группам пользователей, у которых есть необходимые права.

    Администраторов можно включать в любые группы пользователей. Вы можете это сделать сразу при создании нового администратора.

    Назначение прав

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

    Администраторы начинаются без установки каких-либо прав, чтобы побудить Вас быть более внимательным, но если Вы хотите позволить Вашему новому администратору выполнять все доступные функции, есть быстрая установка прав, которое позволит Вам выбрать все опции одним щелчком - "Выбрать все".

    Различные административные права вполне очевидны и не требуют особых разъяснений.

    Отмена полномочий администратора

    Можно снять полномочия администратора с пользователя в любое время, нажав кнопку "Отозвать права администратора" рядом с его именем в списке администраторов.

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

    Запись пользователя при этом сохраняется.

    Команда форума в сети

    Чтобы пользователь появился в блоке "Команда форума в сети", он должны быть явно сделан (объявлен) Модератором или Администратором.

    Однако, если Вы не добавите его в группу модераторов или в группу администров или дадите ему любые права, его текущее звание пользователя и права остаются, как были, с единственной разницей, что он появится в блоке "Команда форума в сети".

    Единственный недостаток такого члена команды, что он будет видеть Панель модератора, но у него не будет доступа к жалобам или любым другим функциям модератора.

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

    Чтобы сделать кого-то скрытым модератором, то есть пользователь не будет отображаться в блоке "Команда форума в сети", добавьте его в группу модераторов как во вторичную группа, не делая его явно модератором.

    Звание пользователя при этом может измениться на Модератора. Это может быть вручную изменено.

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

    Конечно, чтобы кто-то отображался в блоке "Команда форума в сети" и имел доступ к панели модератора, нужно сделать этого пользователя модератором и добавить его в группу модераторов.

    Ниже приведена таблица, которую Brogan опубликовал на официальном форуме. Я перевел таблицу и немного подкрасил.

    Права администраторов и модераторов.png
     
    blacklavanda, Дмитрий., Gatses и 19 другим нравится это.
  2. Yulist

    Yulist Активный пользователь

    Регистрация:
    30.03.11
    Сообщения:
    22
    Симпатии:
    2
    Может кто подскажет, как решить данную проблему (речь идет об основных группах, а не о дополнительных):

    1) Создана новая привилегированная группа пользователей
    2) Создан раздел на форуме, к которому имеет доступ только эта группа (указаны права группы в правах доступа разделу)
    3) Часть пользователей форума переведена через админку сайта в новую группу.

    Но:

    1) Привилегированные пользователи не видят данный (новый) раздел (админ видит)
    2) Под аватаркой профиля привилегированного пользователя (переведенного в новую группу) по-прежнему написано Пользователь (т.е. группа registered) , а не название новой группы
    3) Но при этом, если зайти в админку и начать поиск пользователей по группе – все добавленные пользователи высвечиваются именно в новой группе, в группе registeredих нет.

    Сейчас на форуме есть разделы, которые доступны только зарегистрированным пользователям и администратору, незарегистрированные их не видят вообще, а если заходят по прямой ссылке, то система просит их зарегистрироваться. Я не понимаю, почему это не работает при создании новой группы пользователей и нового раздела для данной группы:(

    Версия форума 1.0.2 (лицензия).

    Заранее благодарю
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    1. Пользователь должен быть в группе зарегистрированных и привилегированных одновременно.
    2. Для того, чтобы у пользователя отображалось "Привилегированные" или что там у Вас, нужно, чтобы основная группа пользователя была "Привилегированные", а дополнительная - "Зарегистрированные". В общем, отображается информация из основной группы.
    3. На данном разделе нужно для зарегистрированных пользователей установить права "Не установлено (Нет)", а для привилегированных - "Разрешено".
     
    veram нравится это.
  4. elzo

    elzo Местный

    Регистрация:
    22.05.11
    Сообщения:
    53
    Симпатии:
    4
    Версия XF:
    1.4.1
    Устал с этими правами, создал раздел, создал группу. Зачислил нужных пользователей в спец группу, но никто кроме администратора не видит раздел. Всё перепробовал.

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

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Для специальной группы нужно иметь "Разрешено" для этого узла, а для других групп "Не установлено (нет)". Тогда пользователи, которые входят в эту группу, смогут видеть раздел.
     
    elzo нравится это.
  6. Yulist

    Yulist Активный пользователь

    Регистрация:
    30.03.11
    Сообщения:
    22
    Симпатии:
    2
    Ничего не получается:( Пользователи из специальной группы не видят раздел, а также у них не отображается название специальной группы под ником - они как и прежде, просто Пользователи:(
     
  7. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    1. Под ником отображается основная группа.
    2. Для того, чтобы расширить права в конкретном разделе, нужно во всех группах (за исключением специальной), где присутствует пользователь, ставить для раздела "Наследовать", а для специальной группы "Разрешено".
     
  8. Yulist

    Yulist Активный пользователь

    Регистрация:
    30.03.11
    Сообщения:
    22
    Симпатии:
    2
    Не получается:( Мне кажется проблема в том, что под ником отображается registered, несмотря на то, что группа специальная. Причем это происходит когда специальная группа у круга пользователей основная, а зарегистрированные - дополнительная, и когда специальная группа является единственной.
     
  9. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Сложно сказать, в чем же именно проблема. Я уверен, что все должно работать именно так, как я говорил. Видимо, все же у Вас что-то отличается в правах, поэтому не хватает где-то прав. Если Вам не страшно, давайте доступ в админку и укажите, что и где Вам нужно на форуме в правах. Я посмотрю и постараюсь поправить.
     
  10. Yulist

    Yulist Активный пользователь

    Регистрация:
    30.03.11
    Сообщения:
    22
    Симпатии:
    2
    infis, спасибо аз помощь!

    У меня проблема была в том, что движок не видел вновь созданную привилегированную группу пользователей, т.е они по-прежнему на форуме значились как обычные зарегистрированные пользователи, несмотря на то, что в настойках основной группой у них была привилегированная группа. После того, как я вручную перестроила кэш пользователей в админке, название группы стало видно под ником, и эта группа стала видеть скрытый раздел:)
     
  11. Flanker

    Flanker Местный

    Регистрация:
    19.05.11
    Сообщения:
    155
    Симпатии:
    27
    Версия XF:
    1.2.2
    Основная группа: Registered
    Дополнительные группы: Testers

    В группе Registered "Временное ограничение на редактирование или удаление своих сообщений (в минутах):" стоит "Без ограничения"
    В группе Testers стоит 30 минут.

    При таких настройках будет использоваться право группы Registered, т.е. "Без ограничения"?
     
  12. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Должно быть без ограничений.
     
  13. Flanker

    Flanker Местный

    Регистрация:
    19.05.11
    Сообщения:
    155
    Симпатии:
    27
    Версия XF:
    1.2.2
    Странно тогда. А на редактирование в личке стоят другие значения и по отзывам пользователей используется значение из группы Testers...
     
  14. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Это в правах группы к узлу или в просто правах группы? К узлу должно либо наследоваться (но в таком случае берется значение из просто прав группы), либо устанавливаться именно для узла. В общем нужно смотреть для двух групп что стоит в группах, а также что стоит в правах групп к узлу. И обязательно учитывать, наследуется или нет.
    Чисто теоретически должно браться максимальное право. Но именно с временем, возможно, есть нюансы.
     
  15. Flanker

    Flanker Местный

    Регистрация:
    19.05.11
    Сообщения:
    155
    Симпатии:
    27
    Версия XF:
    1.2.2
    Ох, ещё эта переменная и в правах группы к узлу. Как всё запутано, зачем же нужно так много :(
     
  16. boff

    boff Пользователь

    Регистрация:
    11.12.11
    Сообщения:
    28
    Симпатии:
    4
    Версия XF:
    1.1.1
    Как добавить имена модераторов разделов под специальные форумы?
     
  17. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Это не относится к системе прав. Такой вопрос решается в стилях и плагинах.
     
  18. Волера

    Волера Местный

    Регистрация:
    18.03.12
    Сообщения:
    36
    Симпатии:
    3
    Версия XF:
    1.1.1
    Здравствуйте, подскажите пожалуйста.
    Я переименовал группу "пользователи" в "новички", урезал немного права этой группе, так же создал группу "участник" с нормальными правами. В разделе "повышение прав пользователей" создал правило, чтобы "новички" набравшие 20 сообщений переходили в "участники". Но при наборе 20 сообщений пользователи так и остаются в "новичках". Что делать?
     
  19. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Дело в том, что при повышении пользователь не переходит в другую группу, а ему добавляется еще одна группа. Основная группа при этом остается низменной. А решение по званиям тут - http://www.xf-russia.ru/forum/threads/2462/#post-24269
     
    FractalizeR и Волера нравится это.
  20. Elesin

    Elesin Пользователь

    Регистрация:
    03.10.12
    Сообщения:
    9
    Симпатии:
    3
    Версия XF:
    1.1.3
    Подскажите новичку.
    Где подкрутить, чтобы список зарегистрированных пользователей не отображался гостям?

    upd:
    Нашёл только дополнение Hide Memberlist for Guests.
    В принципе, оно работает.

    А стандартными средствами такой доступ настраивается?
     

Поделиться этой страницей