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

Habr ·

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

Вы только что добавили новую кнопку в интерфейс. Заказчик просит: "Сделайте, чтобы только начальники смены её видели". Вы находите соответствующую группу в Bitrix и пишете проверку inGroup('НачальникСмены') . Кажется, задача решена. Но через месяц появляются "Старшие мастера", которым тоже нужен этот доступ. Вы дописываете || . Потом добавляется очередное условие. И еще, и еще, и еще... В итоге простая кнопка обрастает десятком строк логики, которая дублируется в разных компонентах. Знакомая картина? Мы сталкивались с этим в каждом крупном проекте. Штатная система прав Bitrix отлично работает для коробочных модулей, но бессильна перед уникальной бизнес-логикой. Проверки групп "просачиваются" в код, делая его хрупким и непрозрачным. Меня зовут Александр Костиков, я ведущий разработчик в НЛМК ИТ. В этой статье я покажу, как мы перестали "цементировать" бизнес-термины в коде и используем систему, где права меняются без правок в компонентах. Если вы устали от проверок inGroup('СуперАдминистратор') - этот материал для вас. Читать далее

Источник: Habr