Задать вопрос
JastaFly
@JastaFly

Ограничить доступ к кастомному модулю?

На сайте есть несколько самописных модулей:
648075093db87258966562.png
Как ограничить к ним доступ для определённой группы пользователей!?
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
JastaFly
@JastaFly Автор вопроса
В итоге я выбрал свой, хоть и костыльный но зато быстрый метод, а именно повесил обработчик на событие формирования меню:
AddEventHandler('main', 'OnBuildGlobalMenu', 'deleteForbiddenMenuItems', 200);

И тупо удалить всё ненужное из массива с элементами меню:
function deleteForbiddenMenuItems(&$aGlobalMenu)
{
    unset(
        $aGlobalMenu['global_menu_sitecore'],
        $aGlobalMenu['global_menu_custom_core'],
        $aGlobalMenu['global_menu_content'],
        $aGlobalMenu['global_menu_marketing'],
        $aGlobalMenu['global_menu_services'],
        $aGlobalMenu['global_menu_marketplace'],
        $aGlobalMenu['global_menu_crm_site_master']
    );
}

Правда тогда появляется сайд эффект в виде кнопок заглушек со стрелочками в главном меню. Их я скрыл добавив в админку следующий CSS:
.adm- {
    display: none;
}

Спасибо всем за помощь)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
1) скрыть пункт меню css стилем или через подписку на событие построения меню
2) если пользователи особо умные, то сделать проверку на вызов файлов из админки
Ответ написан
Комментировать
@jasper-blondin
Чтобы ограничить доступ к модулям, необходимо в самих модулях создать необходимые роли и реализовать для них соответствующие уровни доступа. Это если модули писали самостоятельно.

Во всех остальных случаях: костылить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы