Обновить
4K+
3
Александр Костиков@Sazerac

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

7
Рейтинг
Отправить сообщение

Кто разрешил эту кнопку или как не запутаться в правах доступа

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.1K

Вы только что добавили новую кнопку в интерфейс. Заказчик просит: "Сделайте, чтобы только начальники смены её видели". Вы находите соответствующую группу в Bitrix и пишете проверку inGroup('НачальникСмены'). Кажется, задача решена.

Но через месяц появляются "Старшие мастера", которым тоже нужен этот доступ. Вы дописываете ||. Потом добавляется очередное условие. И еще, и еще, и еще... В итоге простая кнопка обрастает десятком строк логики, которая дублируется в разных компонентах.

Знакомая картина? Мы сталкивались с этим в каждом крупном проекте. Штатная система прав Bitrix отлично работает для коробочных модулей, но бессильна перед уникальной бизнес-логикой. Проверки групп "просачиваются" в код, делая его хрупким и непрозрачным.

Меня зовут Александр Костиков, я ведущий разработчик в НЛМК ИТ. В этой статье я покажу, как мы перестали "цементировать" бизнес-термины в коде и используем систему, где права меняются без правок в компонентах.

Если вы устали от проверок inGroup('СуперАдминистратор') - этот материал для вас.

Читать далее

Информация

В рейтинге
773-й
Зарегистрирован
Активность

Специализация

Фулстек разработчик
Ведущий
Git
ООП
PHP
Laravel
MySQL
Linux