Add(User: IMetabaseUser): IUserProfile;
User. Пользователь, профиль которого необходимо включить в коллекцию.
Метод Add добавляет профиль указанного пользователя в коллекцию.
Профили пользователей добавляются в соответствующее коллекции автоматически при первом обращении к свойству IMetabaseUser.Profile.
Добавление профилей доступно только в коллекцию профилей репозитория, полученную в свойстве IMetabase.Profiles. Изменять коллекцию может только администратор репозитория. Метод Add актуально использовать для добавления профилей пользователей, которые только что созданы в менеджере безопасности репозитория.
Для выполнения примера добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MB: IMetabase;
Sec: IMetabaseSecurity;
User: IMetabaseUser;
Data: ISecurityPackageUserData;
Package: ISecurityPackage;
PswCreds: IPasswordCredentials;
Profs: IUserProfiles;
Prof: IUserProfile;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
Sec := MB.Security;
// Создадим пользователя
User := Sec.AddUser("TestUser");
User.FullName := "Тестовый пользователь";
Sec.Policy.Privilege("ВХОД").Grant(User);
Sec.Policy.Privilege("ЧТЕНИЕ").Grant(User);
// Зададим пароль
Data := User.PackageData;
Package := New StandardSecurityPackage.Create;
PswCreds := Package.CreateCredentials(AuthenticationMode.Password) As IPasswordCredentials;
PswCreds.Password := "Password";
Data.Credentials := PswCreds;
User.MustChangePasswordAtNextLogon := True;
// Сохраним изменения
Sec.Apply;
// Освободим лицензию
Lic := Null;
// Добавим учётную запись пользователя в коллекцию профилей репозитория
Profs := MB.Profiles;
Prof := Profs.Add(User);
Prof := Prof.Edit;
Prof.Email := User.Name + "@example.ru";
Prof.Apply;
End Sub UserProc;
После выполнения примера будет создан новый пользователь репозитория. Для пользователя будут розданы привилегии и указаны учетные данные. Также профиль пользователя будет добавлен в коллекцию профилей репозитория. В настройках профиля будет указана электронная почта по умолчанию.
См. также: