IUserProfiles.Add

Синтаксис Fore

Add(User: IMetabaseUser): IUserProfile;

Синтаксис Fore.NET

Add(User: Prognoz.Platform.Interop.Metabase.IMetabaseUser): Prognoz.Platform.Interop.Metabase.IUserProfile;

Параметры

User. Пользователь, профиль которого необходимо включить в коллекцию.

Описание

Метод Add добавляет профиль указанного пользователя в коллекцию.

Комментарии

Профили пользователей добавляются в соответствующее коллекции автоматически при первом обращении к свойству IMetabaseUser.Profile.

Добавление профилей доступно только в коллекцию профилей репозитория, полученную в свойстве IMetabase.Profiles. Изменять коллекцию может только администратор репозитория. Метод Add актуально использовать для добавления профилей пользователей, которые только что созданы в менеджере безопасности репозитория.

Пример Fore

Указанный пример должен выполняться под администратором репозитория.

Sub UserProc;
Var
    MB: IMetabase;
    Sec: IMetabaseSecurity;
    User: IMetabaseUser;
    Data: ISecurityPackageUserData;
    PS: IPasswordCredentials;
    Profs: IUserProfiles;
    Prof: IUserProfile;
Begin
    MB := MetabaseClass.Active;
    Sec := MB.Security;
    //Создание пользователя
    User := Sec.AddUser("TestUser");
    User.FullName := "Тестовый пользователь";
    Sec.Policy.Privilege("ВХОД").Grant(User);
    Sec.Policy.Privilege("ЧТЕНИЕ").Grant(User);
    Data := User.PackageData;
    PS := Data.Credentials As IPasswordCredentials;
    PS.Password := "Password";
    User.MustChangePasswordAtNextLogon := True;
    Sec.Apply;
    //Добавление профиля пользователя в коллекцию профилей репозитория
    Profs := MB.Profiles;
    Prof := Profs.Add(User);
    Prof := Prof.Edit;
    Prof.Email := User.Name + "@example.ru";
    Prof.Apply;
End Sub UserProc;

При выполнении примера будет создан новый пользователь репозитория. Для пользователя будут розданы привилегии и указаны учетные данные. Также профиль пользователя будет добавлен в коллекцию профилей репозитория. В настройках профиля будет указана электронная почта по умолчанию.

Пример Fore.NET

Указанная процедура является точкой входа для .NET-сборки. Пример должен выполняться под администратором репозитория.

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Sec: IMetabaseSecurity;
    User: IMetabaseUser;
    Data: ISecurityPackageUserData;
    PS: IPasswordCredentials;
    Profs: IUserProfiles;
    Prof: IUserProfile;
Begin
    MB := Params.Metabase;
    Sec := MB.Security;
    //Создание пользователя
    User := Sec.AddUser("TestUser");
    User.FullName := "Тестовый пользователь";
    Sec.Policy.Privilege["ВХОД"].Grant(User);
    Sec.Policy.Privilege["ЧТЕНИЕ"].Grant(User);
    Data := User.PackageData;
    PS := Data.Credentials As IPasswordCredentials;
    PS.Password := "Password";
    User.MustChangePasswordAtNextLogon := True;
    Sec.Apply();
    //Добавление профиля пользователя в коллекцию профилей репозитория
    Profs := MB.Profiles;
    Prof := Profs.Add(User);
    Prof := Prof.Edit();
    Prof.Email := User.Name + "@example.ru";
    Prof.Apply();
End Sub;

При выполнении примера будет создан новый пользователь репозитория. Для пользователя будут розданы привилегии и указаны учетные данные. Также профиль пользователя будет добавлен в коллекцию профилей репозитория. В настройках профиля будет указана электронная почта по умолчанию.

См. также:

IUserProfiles