ShortName: String;
ShortName: String;
Свойство ShortName определяет короткий идентификатор доменного пользователя Oracle.
Идентификатор имеет вид: UYYYYMMDDhhmmsslllrrrrrrrrrr. Где: U - префикс, YYYY - год, MM - месяц, DD - день, hh - часы, mm - минуты, ss - секунды, lll - миллисекунды, rrrrrrrrrr - случайное число.
Перед выполнением примера предполагается наличие на форме компонента «Button» с идентификатором «Button1».
Добавьте сссылку на системную сборку Metabase.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
MBSec: IMetabaseSecurity;
SubSearch: ISecuritySubjectsSearch;
Subjects: ISecuritySubjects;
Subject, AddedSubject: ISecuritySubject;
Date: String;
Begin
MB := MetabaseClass.Active;
MBSec := MB.Security;
//Объект для поиска пользователей
SubSearch := MBSec.NewSubjectsSearch;
SubSearch.NameCriteria := "FS\BS*";
//Поиск только доменных пользователей
SubSearch.AreaIncludeDB := False;
SubSearch.AreaIncludeNT := True;
SubSearch.SubjectCriteria(SecuritySubjectType.User) := True;
SubSearch.ExecuteSearch;
//Найденные пользователи
Subjects := SubSearch.Subjects;
//Получаем текущую дату
Date := DateTime.Now.ToString;
//Добавляем пользователя
For Each Subject In Subjects Do
AddedSubject := MBSec.AddNTSubject(Subject);
//Присваиваем короткое имя из переменной Date и случайное число
(AddedSubject As IMetabaseUser).ShortName := Date + "1234567891";
End For;
//Применение политики безопасности
MBSec.Apply;
End Sub Button1OnClick;
При выполнении примера будет осуществлен поиск всех доменных пользователей, наименование которых удовлетворяет маске «FS\BS*». Найденные пользователи будут добавлены в список пользователей репозитория, которым будет присвоено короткое имя.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
MBSec: IMetabaseSecurity;
SubSearch: ISecuritySubjectsSearch;
Subjects: ISecuritySubjects;
Subject, AddedSubject: ISecuritySubject;
Date: String;
Begin
MB := Self.Metabase;
MBSec := MB.Security;
//Объект для поиска пользователей
SubSearch := MBSec.NewSubjectsSearch();
SubSearch.NameCriteria := "FS\BS*";
//Поиск только доменных пользователей
SubSearch.AreaIncludeDB := False;
SubSearch.AreaIncludeNT := True;
SubSearch.SubjectCriteria[SecuritySubjectType.sstUser] := True;
SubSearch.ExecuteSearch();
//Найденные пользователи
Subjects := SubSearch.Subjects;
//Получаем текущую дату
Date := DateTime.Now.ToString();
//Добавляем пользователя
For Each Subject In Subjects Do
//Присваиваем короткое имя из переменной Date и случайное число
AddedSubject := MBSec.AddNTSubject(Subject);
(AddedSubject As IMetabaseUser).ShortName := Date + "1234567891";
End For;
//Применение политики безопасности
MBSec.Apply();
End Sub;
См. также: