You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by de...@apache.org on 2018/12/18 16:46:34 UTC

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

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