RestrictUserDeletion: Boolean;
RestrictUserDeletion: System.Boolean;
Свойство RestrictUserDeletion определяет, будет ли запрещено прикладному администратору удаление пользователя, обладающего любыми правами доступа на объекты репозитория.
Свойство актуально для использования при разделении ролей между администратором информационной безопасности (АИБ) и прикладным администратором (ПА).
По умолчанию свойство принимает значение False. При установке значения True прикладной администратор не сможет удалить пользователя, который обладает какими-либо правами доступа на объекты репозитория. При попытке удаления будет выдано соответствующее сообщение. Для удаления такого пользователя потребуется снятие всех имеющихся прав доступа.
Для изменения значения свойства пользователь, осуществляющий настройку, должен обладать привилегией «Изменение метки безопасности и списка контроля доступа любого объекта».
Для выполнения примера актируйте режим разделения ролей между АИБ и ПА в менеджере безопасности.
Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
Policy: IMetabasePolicy;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
Policy := MS.Policy;
// Запретим удаление пользователя прикладному администратору
Policy.RestrictUserDeletion := True;
// Сохраним изменения
MS.Apply;
// Освободим лицензию
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;
Policy: IMetabasePolicy;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
MS := MB.Security;
Policy := MS.Policy;
// Запретим удаление пользователя прикладному администратору
Policy.RestrictUserDeletion := True;
// Сохраним изменения
MS.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера при попытке ПА удалить пользователя, который обладает какими-либо правами доступа на объекты репозитория, будет выдано соответствующее сообщение.
См. также: