IAuditLogons.Session

Синтаксис

Session: Integer;

Session: System.UInt32;

Описание

Свойство Session возвращает номер сессии.

Пример

Для выполнения примера добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    AL: IAuditLog;
    ALogon: IAuditLogons;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Откроем протокол доступа
    Al := MS.OpenAuditLog;
    ALogon := AL.OpenLogons(
False);
    
// Выведем в консоль информацию о сессиях текущего репозитория
    While Not ALogon.Eof Do
        Debug.WriteLine(
"Сессия: " + ALogon.Session.ToString);
        Debug.WriteLine(
"Пользователь: " + ALogon.UserName + "; Описание: " + ALogon.UserDescription + "; Sid: " + ALogon.UserSid);
        Debug.WriteLine(
"Рабочая станция: " + ALogon.Station + "; Пользователь ОС: " + ALogon.UserOS + "; IP: " + ALogon.UserIP);
        ALogon.Next;
    
End While;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    AL: IAuditLog;
    ALogon: IAuditLogons;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    
// Откроем протокол доступа
    Al := MS.OpenAuditLog();
    ALogon := AL.OpenLogons(
False);
    
// Выведем в консоль информацию о сессиях текущего репозитория
    While Not ALogon.Eof() Do
        System.Diagnostics.Debug.WriteLine(
"Сессия: " + ALogon.Session.ToString());
        System.Diagnostics.Debug.WriteLine(
"Пользователь: " + ALogon.UserName + "; Описание: " + ALogon.UserDescription + "; Sid: " + ALogon.UserSid);
        System.Diagnostics.Debug.WriteLine(
"Рабочая станция: " + ALogon.Station + "; Пользователь ОС: " + ALogon.UserOS + "; IP: " + ALogon.UserIP);
        ALogon.Next();
    
End While;
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера в консоль среды разработки будет выведена информация о сессиях с текущим репозиторием. Будет выведена следующая информация: номер сессии; наименование, описание и SID (идентификатор субъекта безопасности) пользователя, под которым осуществлялось подключение к платформе. А также наименование рабочей станции, наименование пользователя, под которым осуществлен вход в ОС и IP рабочей станции.

См. также:

IAuditLogons