Создание пользователя и добавление в группу доступа (БСП)

Демонстрация процесса создания пользователя, добавления его в группу доступа и назначения основных прав в системе, в конфигурации с БСП

&НаСервере
Процедура СоздатьПользователя(ИмяПользователя, ПолноеИмя, Пароль, ГруппаДоступа)
	
	ОписаниеПользователяИБ 								= Пользователи.НовоеОписаниеПользователяИБ();
	ОписаниеПользователяИБ.Имя 							= ИмяПользователя;
	ОписаниеПользователяИБ.ПолноеИмя					= ПолноеИмя;
	ОписаниеПользователяИБ.Пароль						= Пароль;
	ОписаниеПользователяИБ.ПарольУстановлен				= Истина;
	ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора		= Истина;
	ОписаниеПользователяИБ.АутентификацияСтандартная	= Истина;
	ОписаниеПользователяИБ.АутентификацияОС				= Ложь;
			
	СоздаватьПользователяИБ = Истина;

	НачатьТранзакцию();
	
	Попытка
		
		// Создадим пользователя ИБ с заданными настройками
		Пользователи.УстановитьСвойстваПользователяИБ(
                                    ИмяПользователя, ОписаниеПользователяИБ, СоздаватьПользователяИБ);
									
		// Создадим пользователя в справочнике "Пользователи"
		ПользовательОбъект = Справочники.Пользователи.СоздатьЭлемент();
		
		ПользовательОбъект.Наименование = ОписаниеПользователяИБ.ПолноеИмя;
		
		// Установим связь пользователя ИБ и пользователя из справочника "Пользователи"
		СвойстваПользователяИБ = Новый Структура;
		СвойстваПользователяИБ.Вставить("Действие", "Записать");
		СвойстваПользователяИБ.Вставить("УникальныйИдентификатор", ОписаниеПользователяИБ.УникальныйИдентификатор);	
		
		ПользовательОбъект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", СвойстваПользователяИБ);
		
		ПользовательОбъект.Записать();
		
		
		// Добавим пользователя в группу доступа;
		ГруппаДоступа  = ГруппаДоступа.ПолучитьОбъект();
		
		ПользователиВГруппе = ГруппаДоступа.Пользователи.Добавить();
		ПользователиВГруппе.Пользователь = ПользовательОбъект.Ссылка;
		
		ГруппаДоступа.Записать();		
		
		// Пример добавления дополнительных ролей пользователю,  
		// в случае если не все необходимые роли есть в группах доступа
		
		// Сначала получим свойства созданного пользователя с ролями, 
		// которые были назначены из заданных групп доступа
		СвойстваСозданногоПользователяИБ = 
                             Пользователи.СвойстваПользователяИБ(ОписаниеПользователяИБ.УникальныйИдентификатор);
		
		// в массиве указываются названия ролей из конфигурации
		СвойстваСозданногоПользователяИБ.Роли.Добавить("ЗапускВебКлиента");
		СвойстваСозданногоПользователяИБ.Роли.Добавить("БазовыеПраваБСП");
		СвойстваСозданногоПользователяИБ.Роли.Добавить("ПолныеПрава");		
		
		// Отключаем флаг создания нового, так как пользователь уже создан
		
		СоздаватьПользователяИБ = Ложь;
		
		Пользователи.УстановитьСвойстваПользователяИБ(
                              ИмяПользователя, СвойстваСозданногоПользователяИБ, СоздаватьПользователяИБ);
		
		ЗафиксироватьТранзакцию();
		
	Исключение
		
		Если ТранзакцияАктивна() Тогда
			ОтменитьТранзакцию();
		КонецЕсли;
		
		ИмяСобытия = "Создание пользователя";
		
		ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,, ИмяПользователя, ОписаниеОшибки());
		
		Сообщить(ОписаниеОшибки());
		
	КонецПопытки;

КонецПроцедуры
0

См. также

ВключитьПользователяВГруппуДоступа (БСП)

ПриСозданииФормыЗначенияДоступа (БСП)

ПроверитьНаличиеПользователяИБВГруппеДоступаАдминистраторы (БСП)

ПослеДобавленияИзмененияПользователяИлиГруппы (БСП)

ВключитьПрофильПользователю (БСП)

ВыключитьПрофильПользователю (БСП)

ЕстьРоль (БСП)

ПредставлениеГруппыДоступа (БСП)

Модератору