OnBeforeLogon(Args: IMetabaseOnBeforeLogonArgs);
OnBeforeLogon(Args: Prognoz.Platform.Interop.Metabase.IMetabaseOnBeforeLogonArgs);
Метод OnBeforeLogon реализует событие, которое наступает перед подключением к репозиторию с помощью веб-сервиса.
Метод должен быть переопределён в пользовательском классе. Использование данного метода позволяет переопределить параметры подключения к репозиторию или выполнить какие-либо дополнительные действия при подключении.
Для подключения к репозиторию используется операция OpenMetabase.
Указанный пример в общем виде демонстрирует класс, который может использоваться для обработки события подключения к репозиторию из веб-сервиса.
Public Class CustomEvents: ForeMetabaseCustomEvents
Public Sub OnBeforeLogon(Args: IMetabaseOnBeforeLogonArgs);
Var
Def: IMetabaseDefinition;
SecPackage: ISecurityPackage;
Creds: IPasswordCredentials;
Begin
If True Then
Args.Handled := False;
Args.AllowLogon := True;
Args.ResultMetabase := Args.Metabase;
Else
Args.Handled := True;
Args.AllowLogon := True;
Def := Args.Metabase.Definition;
//...
//Изменение параметров подключения
///...
SecPackage := New StandardSecurityPackage.Create;
Creds := SecPackage.CreateCredentials(AuthenticationMode.Password) As IPasswordCredentials;
Creds.UserName := (Args.Credentials As IPasswordCredentials).UserName;
Creds.Password := "new password";
//...
//Настройка учётных данных
//...
Args.ResultMetabase := Def.Open(Creds);
End If;
End Sub OnBeforeLogon;
End Class CustomEvents ;
См. также: