Вызов стандартного диалога разграничения доступа пользователя в систему по времени.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:
Тип значения | Описание |
IMetabaseUser,
ISecuritySubject |
Пользователь, для которого необходимо настроить разграничение прав доступа по времени. |
Отсутствуют
Для выполнения примера убедитесь, что в менеджере безопасности содержится пользователь USER.
Добавьте ссылки на системные сборки: Metabase, Ui, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
Mb: IMetabase;
MbSec: IMetabaseSecurity;
User: ISecuritySubject;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := Mb.RequestLicense(UiLicenseFeatureType.Adm);
MbSec := MB.Security;
User := MbSec.ResolveName("USER");
Target := WinApplication.Instance.GetPluginTarget("Adm");
Context := Target.CreateExecutionContext;
Context.Data := User;
Target.Execute("ShowHoursPolicy", Context);
// Сохраним изменения
MbSec.Apply;
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ui;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
MbSec: IMetabaseSecurity;
User: ISecuritySubject;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
WinApp: WinApplicationClassClass;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := Mb.RequestLicense(UiLicenseFeatureType.lftAdm);
MbSec := MB.Security;
User := MbSec.ResolveName("USER");
WinApp := New WinApplicationClassClass();
Target := WinApp.Instance[Null].GetPluginTarget("Adm");
Context := Target.CreateExecutionContext();
Context.Data := User;
Target.Execute("ShowHoursPolicy", Context, Null);
// Сохраним изменения
MbSec.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера будет отображен диалог разграничения доступа в систему по времени для пользователя USER.
См. также: