Ниже приведен пример использования операции GetMbSec для получения информации о профиле текущего пользователя. В запросе передается моникёр соединения с репозиторием. В ответе приходит информация об адресах электронной почты и дополнительных свойствах пользователя, которые сохранены в профиле.
{
"GetMbSec" :
{
"tMbSec" :
{
"id" : "S1!M"
},
"tArg" :
{
"pattern" :
{
"profiles" : "Get",
"profilesFilter" :
{
"current" : "true"
},
"profile" :
{
"subject" : "true",
"data" : "true"
}
}
}
}
}
{
"GetMbSecResult" :
{
"id" :
{
"id" : "S1!M"
},
"meta" :
{
"profiles" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"id" : "PS-1-1",
"n" : "ADMIN",
"vis" : "1",
"sid" :
{
"sid" : "PS-1-1"
},
"subject" :
{
"k" : "2147483649",
"id" : "ADMIN",
"n" : "Пользователь",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "PS-1-1",
"type" : "User"
}
},
"emails" :
{
"its" :
{
"it" :
[
{
"name" : "Рабочий",
"email" : ""
},
{
"name" : "Мобильный",
"email" : ""
},
{
"name" : "Персональный",
"email" : ""
},
{
"name" : "324",
"email" : "123@mail.ru"
}
]
}
},
"props" :
{
"its" : ""
}
}
]
}
},
"bisearchEnable" : "Full",
"apply" :
{
"onCredentialsRequired" :
{
"logonParams" :
{
"descr" : "Введите имя и пароль пользователя, обладающего правами создания таблиц в базе данных 'База данных'",
"realm" : "OBJ21909",
"toAdmin" : "1",
"logonData" :
{
"driver" : "MSSQL2012",
"server" : "test-server",
"database" : "Warehouse"
}
}
}
}
}
}
}
public static GetMbSecResult GetUserProfiles(string mb)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var getMbSec = new GetMbSec()
{
tArg = new GetMbSecArg()
{
pattern = new MbSecMdPattern()
{
//Параметры извлечения информации о профиле пользователя
profiles = ListOperation.Get,
profile = new MbSecProfilePattern()
{
subject = true
},
profilesFilter = new MbSecProfilesFilter()
{
current = true
}
}
},
tMbSec = new MbId() { id = mb }
};
//Получение информации о профилях пользователей
var result = somClient.GetMbSec(getMbSec);
return result;
}
См. также: