12 KiB
SOAP сервис Permission-management
Permission - сущность для описания и хранения прав.
Поля Permission:
-
permissionId (long) - идентификатор объекта permission
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта, данный параметр соответствует проектной терминалогии: system, system-group
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String)- тип действия, по умолчанию проставляется значение default
SOAP Сервис Permission управляет созданием и проверкой объекта Permission.
Типы объектов в системе ESB.
-
system - система
-
system-group - группа систем
-
service - сервис
-
account - аккаунт
-
event-topic - топик
Методы сервиса
Check - проверяет описанное право
Принимает параметры
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String) - тип действия, необязательный по умолчанию проставляется значение default
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permissionCommon>
<per:objectId>1</per:objectId>
<per:objectType>system</per:objectType>
<per:subjectId>2</per:subjectId>
<per:subjectType>system</per:subjectType>
<!--Optional:-->
<per:action>default</per:action>
</per:permissionCommon>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/permission/">false</response>
</soap:Body>
</soap:Envelope>
Get - получает запись Permission
Принимает параметры
permissionId (long) - идентификатор объекта permission
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permissionId>24</per:permissionId>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<tns:permission xmlns:tns="http://www.entaxy.ru/permission/">
<tns:permissionId>24</tns:permissionId>
<tns:objectId>7</tns:objectId>
<tns:objectType>system</tns:objectType>
<tns:subjectId>8</tns:subjectId>
<tns:subjectType>system</tns:subjectType>
<tns:action>connect</tns:action>
</tns:permission>
</soap:Body>
</soap:Envelope>
GetByAllParams - получает запись Permission
Принимает параметры
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String) - тип действия, необязательный по умолчанию проставляется значение default
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permissionCommon>
<per:objectId>7</per:objectId>
<per:objectType>system</per:objectType>
<per:subjectId>8</per:subjectId>
<per:subjectType>system</per:subjectType>
<!--Optional:-->
<per:action>connect</per:action>
</per:permissionCommon>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<tns:permission xmlns:tns="http://www.entaxy.ru/permission/">
<tns:permissionId>24</tns:permissionId>
<tns:objectId>7</tns:objectId>
<tns:objectType>system</tns:objectType>
<tns:subjectId>8</tns:subjectId>
<tns:subjectType>system</tns:subjectType>
<tns:action>connect</tns:action>
</tns:permission>
</soap:Body>
</soap:Envelope>
Create - создаёт запись Permission
Принимает параметры
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String) - тип действия, необязательный по умолчанию проставляется значение default
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permissionCommon>
<per:objectId>7</per:objectId>
<per:objectType>account</per:objectType>
<per:subjectId>1234</per:subjectId>
<per:subjectType>system-group</per:subjectType>
<!--Optional:-->
<per:action>send</per:action>
</per:permissionCommon>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<tns:permission xmlns:tns="http://www.entaxy.ru/permission/">
<tns:permissionId>25</tns:permissionId>
<tns:objectId>7</tns:objectId>
<tns:objectType>account</tns:objectType>
<tns:subjectId>1234</tns:subjectId>
<tns:subjectType>system-group</tns:subjectType>
<tns:action>send</tns:action>
</tns:permission>
</soap:Body>
</soap:Envelope>
В случае если запись уже создана возвращается ошибка
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>org.hibernate.exception.ConstraintViolationException: could not execute statement</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Update - изменяет запись Permission
Принимает параметры
-
permissionId (long) - идентификатор объекта permission
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта, данный параметр соответствует проектной терминалогии: system, system-group
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String) - тип действия, необязательный по умолчанию проставляется значение default
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permission>
<per:permissionId>23</per:permissionId>
<per:objectId>8</per:objectId>
<per:objectType>account</per:objectType>
<per:subjectId>1234</per:subjectId>
<per:subjectType>system-group</per:subjectType>
<!--Optional:-->
<per:action>send</per:action>
</per:permission>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<tns:permission xmlns:tns="http://www.entaxy.ru/permission/">
<tns:permissionId>23</tns:permissionId>
<tns:objectId>8</tns:objectId>
<tns:objectType>account</tns:objectType>
<tns:subjectId>1234</tns:subjectId>
<tns:subjectType>system-group</tns:subjectType>
<tns:action>send</tns:action>
</tns:permission>
</soap:Body>
</soap:Envelope>
В случае если запись не найдена возвращается ошибка
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>No entity found for query</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Delete - удаляет запись Permission
Принимает параметры
-
objectId (long) - идентификатор объекта, для которого проверяются права
-
objectType (String) - тип объекта
-
subjectId (String) - идентификатор предмета применяемого права
-
subjectType (String) - тип предмета
-
action (String) - тип действия, необязательный по умолчанию проставляется значение default
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://www.entaxy.ru/permission/">
<soapenv:Header/>
<soapenv:Body>
<per:permissionCommon>
<per:objectId>7</per:objectId>
<per:objectType>account</per:objectType>
<per:subjectId>1234</per:subjectId>
<per:subjectType>system-group</per:subjectType>
<!--Optional:-->
<per:action>send</per:action>
</per:permissionCommon>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/permission/">true</response>
</soap:Body>
</soap:Envelope>
В случае если запись не найдена возвращается ошибка
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>No entity found for query</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>