Author: jleroux
Date: Tue Feb 14 18:26:28 2012 New Revision: 1244148 URL: http://svn.apache.org/viewvc?rev=1244148&view=rev Log: "Applied fix from trunk for revision: 1244139" (conflicts handled by hand) ------------------------------------------------------------------------ r1244139 | jleroux | 2012-02-14 19:08:01 +0100 (mar., 14 févr. 2012) | 3 lines A patch from Michael Brohl "return value of currentDelegatorTenantId.trim() ignored in org.ofbiz.webapp.control.LoginWorker.login()" https://issues.apache.org/jira/browse/OFBIZ- The return value of currentDelegatorTenantId.trim() is not assigned in org.ofbiz.webapp.control.LoginWorker.login() so trim() has no effect. ------------------------------------------------------------------------ Modified: ofbiz/branches/release10.04/ (props changed) ofbiz/branches/release10.04/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Propchange: ofbiz/branches/release10.04/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Feb 14 18:26:28 2012 @@ -1,3 +1,3 @@ /ofbiz/branches/addbirt:831210-885099,885686-886087 /ofbiz/branches/multitenant20100310:921280-927264 -/ofbiz/trunk:939988,939990,939999,940025,940053,940234,940248,940309,940401,940410,940425,940779,940815,940849,940851,941007,941047,941109,941177,941199,941261,941440,941600,941999,942084,942406,942414,942671,942883-942884,943168,943271-943272,943843,944614,944621,944623,944647,944669,944797,944895,945010,945018,945026,945118,945573,945578,945580,945582,945610,945619,945848,945852,945857,946061,946066,946073,946075,946080,946309,946313,946320,946322,946596,947004-947005,947392,947424,947679,947988,948017,948694,949174,949710,949844,950866,950870,950893,951005,951062,951098,951251,951367,951381,951672,952232,952249,952270,953294,953671,954135,954583,954733,954956,955568,956022,956206,956340,957160,958343,958514,958521,958752,958758,958769,958953,959456,960143,960491,960997,963610,964558,965470,965916,966525,966785,967098,978806,978893,978939,979104,980641-980642,980935,981051,981104,981123,981288,983920,983930,985163,985298,985473,985718,985856,985902,987841,989166,990127,990 339,990539,991485,993344,993387,995384,995686,996069,996078-996079,996563,997418-997420,997423-997425,997431,997440,997526,997990,998061,998412,998557,1000621,1000725,1000998,1001099,1001131,1001185,1001574,1001849,1001962,1002963,1003434,1003450,1003829,1004139,1027756,1027960,1028053,1028625,1028627,1029600,1030016,1030385,1030390,1033928,1033953,1034138,1034179,1035080,1035084,1036426,1036669,1037507,1037559-1037560,1037567,1037883,1038228,1038990,1039256,1040044,1040091,1042009,1042034,1042038,1042132,1042188,1042222,1042317,1042348,1042396,1042411,1042950,1043861,1043996-1043998,1044047,1044084,1044912,1049031,1050602,1051111,1051450,1051812,1052195,1053285,1053289,1053722,1054565,1055057,1056072,1056305,1056803,1057519,1058028,1058056,1058488,1059180,1060236,1060261,1060368,1060933,1061167,1061307,1061346,1061886,1061939,1062138,1062144,1062152,1063273,1064090,1064953,1064993,1065550,1066048,1067097,1067942,1069597,1069965,1070193,1070229,1072017,1072378,1074624,107520 5,1075952,1076027,1076115,1080218,1080959,1083144,1084572,1084671,1084689,1084855,1085697,1085774,1090952,1090961,1090964,1092479,1094007,1094126,1096441,1098063,1104423,1131144,1132589,1132749,1134649,1134990,1135199,1135686,1137201,1137435,1139346,1139385,1139504,1139860,1140358,1140362,1140375,1140469,1144537,1144791,1153073,1153768,1158126,1159080,1163036,1163093,1165130,1166591,1167116,1167314,1167480,1167501,1167510,1167517,1167606,1170469,1172213,1172243,1174964,1175130,1175135,1175143,1177128,1181878,1182259,1183651,1184996,1184999,1185179,1187515,1187528,1187933,1187944,1188042,1188564,1196778,1199450,1200207,1201125,1201941,1203350,1206507,1206690,1209921,1210211,1212147,1221913,1222105,1226055,1226065,1226223,1231004,1231444,1232539,1243116 +/ofbiz/trunk:939988,939990,939999,940025,940053,940234,940248,940309,940401,940410,940425,940779,940815,940849,940851,941007,941047,941109,941177,941199,941261,941440,941600,941999,942084,942406,942414,942671,942883-942884,943168,943271-943272,943843,944614,944621,944623,944647,944669,944797,944895,945010,945018,945026,945118,945573,945578,945580,945582,945610,945619,945848,945852,945857,946061,946066,946073,946075,946080,946309,946313,946320,946322,946596,947004-947005,947392,947424,947679,947988,948017,948694,949174,949710,949844,950866,950870,950893,951005,951062,951098,951251,951367,951381,951672,952232,952249,952270,953294,953671,954135,954583,954733,954956,955568,956022,956206,956340,957160,958343,958514,958521,958752,958758,958769,958953,959456,960143,960491,960997,963610,964558,965470,965916,966525,966785,967098,978806,978893,978939,979104,980641-980642,980935,981051,981104,981123,981288,983920,983930,985163,985298,985473,985718,985856,985902,987841,989166,990127,990 339,990539,991485,993344,993387,995384,995686,996069,996078-996079,996563,997418-997420,997423-997425,997431,997440,997526,997990,998061,998412,998557,1000621,1000725,1000998,1001099,1001131,1001185,1001574,1001849,1001962,1002963,1003434,1003450,1003829,1004139,1027756,1027960,1028053,1028625,1028627,1029600,1030016,1030385,1030390,1033928,1033953,1034138,1034179,1035080,1035084,1036426,1036669,1037507,1037559-1037560,1037567,1037883,1038228,1038990,1039256,1040044,1040091,1042009,1042034,1042038,1042132,1042188,1042222,1042317,1042348,1042396,1042411,1042950,1043861,1043996-1043998,1044047,1044084,1044912,1049031,1050602,1051111,1051450,1051812,1052195,1053285,1053289,1053722,1054565,1055057,1056072,1056305,1056803,1057519,1058028,1058056,1058488,1059180,1060236,1060261,1060368,1060933,1061167,1061307,1061346,1061886,1061939,1062138,1062144,1062152,1063273,1064090,1064953,1064993,1065550,1066048,1067097,1067942,1069597,1069965,1070193,1070229,1072017,1072378,1074624,107520 5,1075952,1076027,1076115,1080218,1080959,1083144,1084572,1084671,1084689,1084855,1085697,1085774,1090952,1090961,1090964,1092479,1094007,1094126,1096441,1098063,1104423,1131144,1132589,1132749,1134649,1134990,1135199,1135686,1137201,1137435,1139346,1139385,1139504,1139860,1140358,1140362,1140375,1140469,1144537,1144791,1153073,1153768,1158126,1159080,1163036,1163093,1165130,1166591,1167116,1167314,1167480,1167501,1167510,1167517,1167606,1170469,1172213,1172243,1174964,1175130,1175135,1175143,1177128,1181878,1182259,1183651,1184996,1184999,1185179,1187515,1187528,1187933,1187944,1188042,1188564,1196778,1199450,1200207,1201125,1201941,1203350,1206507,1206690,1209921,1210211,1212147,1221913,1222105,1226055,1226065,1226223,1231004,1231444,1232539,1243116,1244139 Modified: ofbiz/branches/release10.04/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java?rev=1244148&r1=1244147&r2=1244148&view=diff ============================================================================== --- ofbiz/branches/release10.04/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java (original) +++ ofbiz/branches/release10.04/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Tue Feb 14 18:26:28 2012 @@ -321,39 +321,39 @@ public class LoginWorker { request.setAttribute("_ERROR_MESSAGE_LIST_", unpwErrMsgList); return "error"; } - + boolean setupNewDelegatorEtc = false; - + LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher"); Delegator delegator = (Delegator) request.getAttribute("delegator"); // if a tenantId was passed in, see if the userLoginId is associated with that tenantId (can use any delegator for this, entity is not tenant-specific) String tenantId = request.getParameter("tenantId"); if (UtilValidate.isNotEmpty(tenantId)) { - // see if we need to activate a tenant delegator, only do if the current delegatorName has a hash symbol in it, and if the passed in tenantId doesn't match the one in the delegatorName + // see if we need to activate a tenant delegator, only do if the current delegatorName has a hash symbol in it, and if the passed in tenantId doesn't match the one in the delegatorName String oldDelegatorName = delegator.getDelegatorName(); int delegatorNameHashIndex = oldDelegatorName.indexOf('#'); String currentDelegatorTenantId = null; if (delegatorNameHashIndex > 0) { currentDelegatorTenantId = oldDelegatorName.substring(delegatorNameHashIndex + 1); - if (currentDelegatorTenantId != null) currentDelegatorTenantId.trim(); + if (currentDelegatorTenantId != null) currentDelegatorTenantId = currentDelegatorTenantId.trim(); } - + if (delegatorNameHashIndex == -1 || (currentDelegatorTenantId != null && !tenantId.equals(currentDelegatorTenantId))) { - /* don't require this, allow a user to authenticate inside the tenant as long as the userLoginId and - * password match what is in that tenant's database; instead just set things up below + /* don't require this, allow a user to authenticate inside the tenant as long as the userLoginId and + * password match what is in that tenant's database; instead just set things up below try { List<GenericValue> tenantUserLoginList = delegator.findList("TenantUserLogin", EntityCondition.makeCondition(EntityOperator.AND, "tenantId", tenantId, "userLoginId", username), null, null, null, false); if (tenantUserLoginList != null && tenantUserLoginList.size() > 0) { ServletContext servletContext = session.getServletContext(); - + // if so make that tenant active, setup a new delegator and a new dispatcher String delegatorName = delegator.getDelegatorName() + "#" + tenantId; - + // after this line the delegator is replaced with the new per-tenant delegator delegator = DelegatorFactory.getDelegator(delegatorName); dispatcher = ContextFilter.makeWebappDispatcher(servletContext, delegator); - + // NOTE: these will be local for now and set in the request and session later, after we've verified that the user setupNewDelegatorEtc = true; } else { @@ -371,14 +371,14 @@ public class LoginWorker { */ ServletContext servletContext = session.getServletContext(); - + // make that tenant active, setup a new delegator and a new dispatcher String delegatorName = delegator.getDelegatorName() + "#" + tenantId; - + // after this line the delegator is replaced with the new per-tenant delegator delegator = DelegatorFactory.getDelegator(delegatorName); dispatcher = ContextFilter.makeWebappDispatcher(servletContext, delegator); - + // NOTE: these will be local for now and set in the request and session later, after we've verified that the user setupNewDelegatorEtc = true; } @@ -433,7 +433,7 @@ public class LoginWorker { // now set the delegator and dispatcher in a bunch of places just in case they were changed setWebContextObjects(request, response, delegator, dispatcher, true); } - + // check to see if a password change is required for the user GenericValue userLogin = (GenericValue) result.get("userLogin"); Map<String, Object> userLoginSession = checkMap(result.get("userLoginSession"), String.class, Object.class); @@ -451,7 +451,7 @@ public class LoginWorker { } catch (GenericServiceException e) { Debug.logError(e, "Error setting user preference", module); } - + // finally do the main login routine to set everything else up in the session, etc return doMainLogin(request, response, userLogin, userLoginSession); } else { @@ -461,30 +461,30 @@ public class LoginWorker { return "error"; } } - - /* persistSerialized is set at false in the context of a cluster when using (at least) DeltaManager. + + /* persistSerialized is set at false in the context of a cluster when using (at least) DeltaManager. Because we have no easy ways to set DeltaManager.pathname to null from OFBiz So persistSerialized is set to true when login out. This prevent a NPE due to non serialized objects put in session*/ private static void setWebContextObjects(HttpServletRequest request, HttpServletResponse response, Delegator delegator, LocalDispatcher dispatcher, Boolean persistSerialized) { HttpSession session = request.getSession(); - + // NOTE: we do NOT want to set this in the servletContet, only in the request and session session.setAttribute("delegatorName", delegator.getDelegatorName()); - + request.setAttribute("delegator", delegator); if (!persistSerialized) { session.setAttribute("delegator", null); } else { session.setAttribute("delegator", delegator); } - + request.setAttribute("dispatcher", dispatcher); if (!persistSerialized) { session.setAttribute("dispatcher", null); } else { session.setAttribute("dispatcher", dispatcher); } - + if (persistSerialized) { // we also need to setup the security and authz objects since they are dependent on the delegator try { @@ -494,7 +494,7 @@ public class LoginWorker { } catch (SecurityConfigurationException e) { Debug.logError(e, module); } - + try { Authorization authz = AuthorizationFactory.getInstance(delegator); request.setAttribute("authz", authz); @@ -503,7 +503,7 @@ public class LoginWorker { Debug.logError(e, module); } } - + // get rid of the visit info since it was pointing to the previous database, and get a new one session.removeAttribute("visitor"); session.removeAttribute("visit"); @@ -626,7 +626,7 @@ public class LoginWorker { // setup some things that should always be there UtilHttp.setInitialRequestInfo(request); - + if (currCatalog != null) session.setAttribute("CURRENT_CATALOG_ID", currCatalog); if (delegatorName != null) { // if there is a tenantId in the delegatorName remove it now so that tenant selection doesn't last beyond logout @@ -637,7 +637,7 @@ public class LoginWorker { delegator = DelegatorFactory.getDelegator(delegatorName); LocalDispatcher dispatcher = ContextFilter.makeWebappDispatcher(session.getServletContext(), delegator); - // get the container configuration + // get the container configuration String ofbizHome = System.getProperty("ofbiz.home"); String configFile = ofbizHome + "/framework/base/config/ofbiz-containers.xml"; ContainerConfig.Container cc = null; @@ -654,7 +654,7 @@ public class LoginWorker { setWebContextObjects(request, response, delegator, dispatcher, true); } } - + // DON'T save the cart, causes too many problems: if (shoppingCart != null) session.setAttribute("shoppingCart", new WebShoppingCart(shoppingCart, session)); } @@ -957,7 +957,7 @@ public class LoginWorker { GenericValue userLogin = (GenericValue) LoginWorker.externalLoginKeys.get(externalKey); if (userLogin != null) { - //to check it's the right tenant + //to check it's the right tenant //in case username and password are the same in different tenants LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher"); Delegator delegator = (Delegator) request.getAttribute("delegator"); |
Free forum by Nabble | Edit this page |