forum.bitel.ru
http://forum.bitel.ru/

[6.0] Разграничение прав и вебсервисы
http://forum.bitel.ru/viewtopic.php?f=19&t=8357
Страница 1 из 1

Автор:  Phricker [ 14 авг 2013, 17:31 ]
Заголовок сообщения:  [6.0] Разграничение прав и вебсервисы

По мотивам этой темы и вики

Раньше, для того чтобы выполнить столь простейшее действие как запретить определенным пользователям выставлять статус с пустым комментарием достаточно было добавить в kernel.xml
Код:
<action id="10000" mask="module=contract.status;action=ContractStatusChange;comment=" title="Изменение статуса"/>
<action id="264" mask="module=contract.status;action=ContractStatusChange" title="Изменение статуса"/>


Сейчас же для этого необходимо городить отдельный вебсервис, при этом опять таки непонятно, как ограничить конкретным пользователям без необходимости постоянно править код.

Будет ли эта ситуация как-то решаться в сторону упрощения? Ведь я так понимаю, что в планах перевести всё на вебсервисы, так что данный вопрос стоит довольно остро.

Автор:  Phricker [ 15 авг 2013, 10:44 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Вверх

Автор:  Phricker [ 16 авг 2013, 00:20 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Снабдите Димона всем необходимым для подумать
ИзображениеИзображение

Автор:  dimOn [ 16 авг 2013, 12:05 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

А я тут причём)

Автор:  Phricker [ 16 авг 2013, 12:09 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Ты моск! :umnik:
:lol:

Автор:  dimOn [ 16 авг 2013, 12:21 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

а, ну это да :bow:

Автор:  dimOn [ 16 авг 2013, 12:22 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Смысл в том, чтобы в этих строках учитывать и параметры веб-сервисов?

Автор:  Phricker [ 16 авг 2013, 12:41 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

ты правильно понял :) Необходимо чтобы в этом файле можно было писать правила и для вебсервисов. Т.е. вместо того чтобы я городил вебсервис по которому я обращался в хелпдеск, я бы просто написал правило.
Код:
<service id="10000" name="ContractStatusMonitorService" operation="changeContractStatus" comment="" title="Смена статуса у договоров без комментария"/>
<service id="264" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров"/>


И мог бы просто каким то группам пользователей выдавать доступ а каким то нет. в вебсервисе который я пишу сам - я хз как это сделать так же удобно и галочками :)

Автор:  Phricker [ 18 авг 2013, 22:14 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

уп

Автор:  stark [ 19 авг 2013, 17:11 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Можно попробовать сделать как
вот тут

Автор:  Phricker [ 19 авг 2013, 18:09 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

А можно пример?
Из дебага клиента ничего не понял
Код:
http://10.0.6.152:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl -> {http://service.common.status.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:changeContractStatus
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:changeContractStatus xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><cid>1</cid><statusId>0</statusId><dateFrom>2013-08-19T00:00:00+04:00</dateFrom><comment/></ns5:changeContractStatus></S:Body></S:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns5:changeContractStatusResponse xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xml="http://www.w3.org/XML/1998/namespace"/></S:Body></S:Envelope>


Попробовал добавить правило в котором будет любой path, но отрабатывается не оно.
Код:
<service id="1000" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров без комментария" > <eq path=".*" /> </service>

Автор:  Amir [ 19 авг 2013, 19:08 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

path - это xpath.
<eq path="./*/comment" value=""/>
или
<regexp path="./*/comment" value="\s*"/>

Автор:  Phricker [ 19 авг 2013, 19:33 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

в случае если я указываю
Код:
<service id="1000" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров без комментария" > <regexp path="./*/comment" value="\s*"/> </service>
                        <service id="264" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров" />

то ловлю npe
вот лог клиента. при этом смены статуса не происходит и в журнале запросов пусто.
Код:
http://10.0.6.152:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl -> {http://service.common.status.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:changeContractStatus
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:changeContractStatus xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><cid>1</cid><statusId>3</statusId><dateFrom>2013-08-19T00:00:00+04:00</dateFrom><comment/></ns5:changeContractStatus></S:Body></S:Envelope>


ну а в случае
Код:
 <service id="1000" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров без комментария" ><eq path="./*/comment" value=""/></service>
                        <service id="264" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров" />

отрабатывает правило ID = 264

Автор:  Phricker [ 19 авг 2013, 19:46 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Попробовал вот так (мало ли, что там в комменте передается. в журнале запросов при пустом комменте пишется <comment xmlns=""/>)
Код:
<service id="1000" name="ContractStatusMonitorService" operation="changeContractStatus" title="Смена статуса у договоров без комментария" > <eq path="./*/cid" value="1" /> </service>

В этом случае если я правильно все понял, это правило должно отработать в том случае если статус будет меняться на договоре с ID = 1.
Но что-то не айс
Изображение

Автор:  Phricker [ 21 авг 2013, 01:29 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

А что это значит?
Цитата:
1565 20.08.2013 17:52:46 ИСПРАВЛЕНО License: Генерация документа допика.


Типа такой ненавязчивый АП :oops:

Автор:  Phricker [ 29 авг 2013, 16:35 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

skyb напомнил про эту тему :)
Ну так как оно там?

Автор:  dimOn [ 29 авг 2013, 17:40 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

в todo вроде заносил...

Автор:  Phricker [ 29 авг 2013, 17:58 ]
Заголовок сообщения:  Re: [6.0] Разграничение прав и вебсервисы

Ожидаем тады.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/