Certificate: String;
Certificate: string;
Свойство Certificate присваивает пользователю слепок сертификата, по которому будет осуществляться вход.
Слепок сертификата можно получить с помощью метода IMetabaseUser.InitCertificate.
Для выполнения примера предполагается наличие на форме компонентов Button, EditBox (TextBox для примера на Fore.NET) с наименованиями Button1, EditBox1/TextBox1. Пример является обработчиком события OnClick для компонента Button1.
Добавьте ссылки на системные сборки: ForeSystem (для примера на Fore.NET), Metabase.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
Value: String;
User: IMetabaseUser;
Security: IMetabaseSecurity;
Lic: Object;
Begin
// Получим данные текущего репозитория
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
Security := MB.Security;
// Присвоим слепок сертификата пользователю ADMIN
User := Security.ResolveName("ADMIN") As IMetabaseUser;
// Зададим значение сертификата
Value := EditBox1.Text;
User.Certificate := Value;
// Сохраним изменения
Security.Apply;
// Освободим лицензию
Lic := Null;
End Sub Button1OnClick;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Metabase;
...
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
Value: String;
User: IMetabaseUser;
Security: IMetabaseSecurity;
Lic: Object;
Begin
MB := Self.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
Security := MB.Security;
// Присвоим слепок сертификата пользователю ADMIN
User := Security.ResolveName("ADMIN") As IMetabaseUser;
// Зададим значение сертификата
Value := TextBox1.Text;
User.Certificate := Value;
// Сохраним изменения
Security.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
В результате выполнения примера после нажатия на кнопку пользователю ADMIN будет присвоен сертификат, введенный администратором в компоненте EditBox1/TextBox1.
См. также: