svn commit: r1849193 - /ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

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

svn commit: r1849193 - /ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

Deepak Dixit-5
Author: deepak
Date: Tue Dec 18 16:46:34 2018
New Revision: 1849193

URL: http://svn.apache.org/viewvc?rev=1849193&view=rev
Log:
Fixed: Inconsistent behaviour of ServiceDispatcher.checkAuth
(OFBIZ-10712)


We have checkAuth method in service dispatcher class, this method performs multiple auth related check.

if all checks passed it call the modelService.makeValid method to prepare service context (line#960) but this code executed only when service definition has a permission service call.

If service does not have any permission service call then it does not call the modelService.makeValid and this may cause the service validation issue unknown parameter found.

Ideally modelService.makeValid should call irrespective to permission service check.

Modified:
    ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

Modified: ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java?rev=1849193&r1=1849192&r2=1849193&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java Tue Dec 18 16:46:34 2018
@@ -957,7 +957,6 @@ public class ServiceDispatcher {
             }
             if (hasPermission) {
                 context.putAll(permResp);
-                context = origService.makeValid(context, ModelService.IN_PARAM);
             } else {
                 String message = (String) permResp.get("failMessage");
                 if (UtilValidate.isEmpty(message)) {
@@ -974,7 +973,7 @@ public class ServiceDispatcher {
             }
         }
 
-        return context;
+        return origService.makeValid(context, ModelService.IN_PARAM);
     }
 
     // gets a value object from name/password pair