Получение атрибутов доступа у пользователя

Ниже приведён пример использования операции GetMbSec для получения информации о значениях атрибутов доступа, которые заданы для администратора репозитория. В запросе передаётся моникёр соединения с репозиторием и идентификатор субъекта безопасности. В ответе возвращается полученная информация о значениях атрибутов.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetMbSec xmlns="http://www.fsight.ru/PP.SOM.Som">
<tMbSec xmlns="">
  <id>ONEANHNAHPGEGOAEPHDPDIAOJHKJAKIEMIKIKJONNFBGAFHD!M</id>
  </tMbSec>
<tArg xmlns="">
<pattern>
  <abacUsVals>true</abacUsVals>
<abacUsValsFilter>
<its>
<Item>
  <sid>PS-1-1</sid>
  </Item>
  </its>
  </abacUsValsFilter>
  </pattern>
  </tArg>
  </GetMbSec>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<GetMbSecResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id xmlns="">
  <id>ONEANHNAHPGEGOAEPHDPDIAOJHKJAKIEMIKIKJONNFBGAFHD!M</id>
  </id>
<meta xmlns="">
  <bisearchEnable>Disable</bisearchEnable>
<abacUsVals>
<its>
<Item>
<subjFilter>
  <n>ADMIN</n>
  <sid>PS-1-1</sid>
  </subjFilter>
<attrs>
<its>
<Item>
  <n>Организация</n>
  <id>ORGANIZATION</id>
  <description />
  <k>1</k>
  <dataType>Integer</dataType>
  <val>1</val>
  </Item>
<Item>
  <n>РНУ</n>
  <id>RNU</id>
  <description />
  <k>2</k>
  <dataType>Integer</dataType>
  <val>-1</val>
  </Item>
<Item>
  <n>ЛПДС</n>
  <id>LPDS</id>
  <description />
  <k>3</k>
  <dataType>Integer</dataType>
  <val>-1</val>
  </Item>
  </its>
  </attrs>
  </Item>
  </its>
  </abacUsVals>
  </meta>
  </GetMbSecResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"GetMbSec" :
{
"tMbSec" :
{
"id" : "ONEANHNAHPGEGOAEPHDPDIAOJHKJAKIEMIKIKJONNFBGAFHD!M"
},
"tArg" :
{
"pattern" :
{
"abacUsVals" : "true",
"abacUsValsFilter" :
{
"its" :
{
"Item" :
{
"sid" : "PS-1-1"
}
}
}
}
}
}
}

JSON-ответ:

{
"GetMbSecResult" :
{
"id" :
{
"id" : "ONEANHNAHPGEGOAEPHDPDIAOJHKJAKIEMIKIKJONNFBGAFHD!M"
},
"meta" :
{
"bisearchEnable" : "Disable",
"abacUsVals" :
{
"its" :
{
"Item" :
{
"subjFilter" :
{
"n" : "ADMIN",
"sid" : "PS-1-1"
},
"attrs" :
{
"its" :
{
"Item" :
[
{
"n" : "Организация",
"id" : "ORGANIZATION",
"description" : "",
"k" : "1",
"dataType" : "Integer",
"val" : "1"
},
{
"n" : "РНУ",
"id" : "RNU",
"description" : "",
"k" : "2",
"dataType" : "Integer",
"val" : "-1"
},
{
"n" : "ЛПДС",
"id" : "LPDS",
"description" : "",
"k" : "3",
"dataType" : "Integer",
"val" : "-1"
}
]
}
}
}
}
}
}
}
}
public static GetMbSecResult GetABACUserAttrs(string mb, string userSid)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new GetMbSec()
{
tArg = new GetMbSecArg()
{
pattern = new MbSecMdPattern()
{
abacUsVals = true,
abacUsValsFilter = new MbSecSubjFilter()
{
its = new AbacPatternFilter[]
{
new AbacPatternFilter()
{
sid = userSid
}
}
}
}
},
tMbSec = new MbId() { id = mb }
};
// Получение атрибутов доступа у пользователя
var result = somClient.GetMbSec(tGet);
return result;
}

См. также:

GetMbSec: Операция