Документация для разработчиков
Темная тема

GetUserRoles

Описание и параметры

string
CMain::GetUserRoles(
	string module_id,
	mixed groups = false,
	string use_default_role = "Y",
	string max_role_for_super_admin = "Y",
	string site_id=false
)

Возвращает массив ролей для определённого набора групп (по умолчанию - это группы текущего пользователя).

Как правило в каждом модуле определены свои символы означающие ту или иную роль. Установка своего уникального набора ролей для каждого модуля осуществляется методом GetModuleRightList класса с именем равным ID модуля. Например, для модуля техподдержки, это будет метод support::GetModuleRightList(), описанный в файле /bitrix/modules/support/install/index.php. Администрирование ролей обычно осуществляется в настройках соответствующего модуля.

Примечание. Для любого модуля роль с максимальными правами (администратор модуля) всегда обозначается символом "W", с минимальным правами - символом "D" (доступ к модулю закрыт).

Нестатический метод.

Параметры

ПараметрОписание С версии
module_id ID модуля.
groups Массив групп для которых необходимо определить их роли. Если значение - "false", то будет взят массив групп текущего пользователя.
Необязательный. По умолчанию - "false".
use_default_role Если значение - "Y", то для определения массива ролей будет учитываться роль установленная по умолчанию.
Необязательный. По умолчанию - "Y".
max_role_for_super_admin Если значение - "Y" и groups = false, то пользователю входящему в группу администраторов (группа #1) всегда будет возвращаться массив ролей с обязательно включенной туда ролью с максимальными правами - "W".
Необязательный. По умолчанию - "Y".
site_id ID сайта. Необязательный. По умолчанию "false".10.0.11

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

<?
// получим массив ролей текущего пользователя в модуле "Техподдержка"
$arRoles = $APPLICATION->GetUserRoles("support");

if(in_array("R",$arRoles)) 
	$strNote = "У вас есть право задавать вопросы техподдержке.";

if(in_array("T",$arRoles)) 
	$strNote = "Вы являетесь сотрудником техподдержки.";

if(in_array("V",$arRoles)) 
	$strNote = "Вы можете просматривать все обращения техподдержки без права модификации.";

if(in_array("W",$arRoles)) 
	$strNote = "Вы являетесь администратором техподдержки.";

if ($arRoles==array("D"))
	$APPLICATION->AuthForm("Доступ к модулю техподдержки запрещён.");

ShowNote($strNote);
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх