319 lines
12 KiB
Plaintext
319 lines
12 KiB
Plaintext
|
= 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>
|
|||
|
----
|
|||
|
|