entaxy-public/documentation/core/permission/SOAP-service-Permission-man...

319 lines
12 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= 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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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>
----
В случае если запись уже создана возвращается ошибка
[source,xml]
----
<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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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>
----
В случае если запись не найдена возвращается ошибка
[source,xml]
----
<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_
Пример запроса:
[source,xml]
----
<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>
----
Пример ответа:
[source,xml]
----
<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>
----
В случае если запись не найдена возвращается ошибка
[source,xml]
----
<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>
----