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 рабочей станции.
См. также: