В программном продукте реализована двухуровневая система разграничения прав доступа:
Уровень 1: доступ к файлам и каталогам.
Уровень 2: доступ к модулям и логическим операциям в модулях.
Уровень 1. Настройка доступа к файлам и каталогам выполняется в меню Структура сайта > Управление. Достаточно отметить один или несколько каталогов или файлов и выбрать Доступ, чтобы определить какие группы пользователей имеют право на доступ к этим документам.
Права на доступ, назначенные на каталоги, наследуются для всех файлов и подкаталогов, расположенных ниже. Например, достаточно поставить на каталог / partners/ права на чтение только для группы Partners и убрать право на чтение у группы Everyone, никто из обычных посетителей уже не сможет зайти в каталог и у посетителей будет запрошена авторизация.
Если пользователь принадлежит нескольким группам, то берется максимальное право из всех прав доступа заданных для этих групп.
Если для текущего файла или каталога явно не задан уровень прав, то берется уровень прав заданный для вышележащих каталогов.
Уровень 2 обеспечивает разграничение доступа к модулям и логическим операциям в модулях.
Если речь идет об обычных статичных публичных страницах, то к ним применяется только уровень 1 доступа на файлы и каталоги.
Если пользователь имеет на файл как минимум право R ("чтение") и если данный файл является функциональной частью, в которой используются API функции того или иного модуля, то проверяется 2-ой уровень прав, задаваемый в настройках соответствующего модуля.
При заходе на страницу "Список обращений" в техподдержке, администратор видит все обращения, сотрудник техподдержки - только те за которые ответственен, а обычный пользователь - только свои обращения. Так работает право в рамках логики модуля "Техподдержка".
На сегодняшний день используются две методологии разграничения прав доступа 2-го уровня:
Отличие их заключается в том, что если пользователь обладает несколькими правами, то выбирается максимальное. Если же пользователь обладает несколькими ролями, то он соответственно будет обладать суммарными возможностями этих ролей.
Роли сейчас поддерживаются в двух модулях: "Техподдержка" и "Реклама". Во всех остальных модулях и используются права.