+7 495 008 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Работаем с расширенными правами инфоблоков

Не так давно в Битриксе появилась возможность очень и очень гибко настраивать права доступа к некоторым сущностям. Рассмотрим на примере инфоблоков.

В админке это выглядит так:

1.jpg
2.jpg

Но как же применить это посредством API? Например, программно узнать, может ли пользователь читать секцию, или писать в нее, или писать в конкретный элемент, или удалять конкретный элемент?

Все просто, за это отвечают два метода:

CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, $permission);
CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $ELEMENT_ID, $permission);


Они возвращают для текущего авторизованного пользователя булево значение - true/false. На входе принимает три параметра: ID инфоблока, ID секции/элемента (если ноль, то подразумевается проверка прав на добавление), и, собственно, уровень доступа, который мы проверяем на "имеет ли".

Уровни доступа для инфоблоков можно подсмотреть в "Пользователи/Уровни доступа/Новый уровень доступа". Выбираем модуль "Инфоблоки", и на вкладке "Операции" можем видеть список допустимых доступов:

3.jpg

Что значат некоторые операции - вопрос к Битриксу:)

Собственно, на этом все. Что насчет доступов к другим сущностям (такие как файловые разделы, или элементы корпортала) - оставим на домашнее задание :)

Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA