[jira] [Updated] (OFBIZ-3699) ServiceDispatcher.checkAuth modifies the context if the invocation service has a permissionServiceName

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (OFBIZ-3699) ServiceDispatcher.checkAuth modifies the context if the invocation service has a permissionServiceName

Nicolas Malin (Jira)

     [ https://issues.apache.org/jira/browse/OFBIZ-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sharan Foga updated OFBIZ-3699:
-------------------------------
    Sprint: Bug Crush Event - 21/2/2015

> ServiceDispatcher.checkAuth modifies the context if the invocation service has a permissionServiceName
> ------------------------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-3699
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3699
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Trunk
>            Reporter: Bob Morley
>
> Created as a result of thread: http://n4.nabble.com/Magically-converted-types-from-simpleTypeConvert-td1838891.html
> The follow code in the ServiceDispatcher ...
>         if (UtilValidate.isNotEmpty(origService.permissionServiceName)) {
>             ...
>             if (hasPermission.booleanValue()) {
>                 context.putAll(permResp);
>                 context = origService.makeValid(context, ModelService.IN_PARAM);
> ... causes the incoming context to be modified both by adding values from the results of the permission service but also by converting any datatypes to match those in the service definition.  This hides any invalid service invocations (from a data type pov) and if the permisionServiceName is removed, the code would start failing with the incorrect data types.
> Suggest is to change this to something like ...
> Map<String, Object> permRespContext = ServiceUtil.setServiceFields(dctx, serviceName, permResp);
> context.putAll(permRespContext);
> The concern is that by doing this there may be some services that were relying on the data type conversion (because they were invalid requests) which would start to fail.  Appropriate impact analysis of services that define "permissionServiceName" and appropriate resolutions need to be included with this change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
Reply | Threaded
Open this post in threaded view
|

Re: [jira] [Updated] (OFBIZ-3699) ServiceDispatcher.checkAuth modifies the context if the invocation service has a permissionServiceName

barek1337325
How's it going, everyone? My cousin from Australia sent me a message last week bragging about his new high score, and naturally, I couldn't let him beat me. He’s always claiming he finds the best spots, so I had to verify his claims myself. I went over to spino gambino and the first thing I noticed was how fast the tables loaded. We have a bit of a rivalry going on, so I played aggressively on the blackjack tables. I actually went down pretty hard at first, losing hand after hand, but then I hit a streak that felt impossible. I managed to claw everything back plus a healthy profit. It feels good to have bragging rights again, especially when playing on a platform that works this smoothly globally.