Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java,v diff -u -r1.15 -r1.16 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 15 Apr 2012 06:24:16 -0000 1.15 +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 11 Sep 2012 21:39:50 -0000 1.16 @@ -135,20 +135,20 @@ } ExtServerOrgMap serverMap = getService().getExtServerOrgMap(serverId); - + boolean prefix = Boolean.parseBoolean(usePrefix); try { ExtUserUseridMap userMap = null; - if ((firstName == null) && (lastName == null)) { - userMap = getService().getExtUserUseridMap(serverMap, extUsername); + userMap = getService().getExtUserUseridMap(serverMap, extUsername, prefix); } else { userMap = getService().getImplicitExtUserUseridMap(serverMap, extUsername, firstName, lastName, langIsoCode, countryIsoCode, email); } + Authenticator.authenticate(serverMap, timestamp, extUsername, method, hash); ExtCourseClassMap orgMap = getService().getExtCourseClassMap(serverMap, userMap, extCourseId, - countryIsoCode, langIsoCode, courseName, method, Boolean.parseBoolean(usePrefix)); + countryIsoCode, langIsoCode, courseName, method, prefix); User user = userMap.getUser(); String login = user.getLogin(); // was using hses.inNew() API to check if the external user has logged in yet, Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java,v diff -u -r1.12 -r1.13 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 15 Apr 2012 06:24:19 -0000 1.12 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java 11 Sep 2012 21:39:49 -0000 1.13 @@ -53,6 +53,8 @@ String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, String parentOrgId, Boolean isTeacher, Boolean prefix); + ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException; + ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; ExtUserUseridMap getExistingExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java,v diff -u -r1.26 -r1.27 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 15 Apr 2012 06:24:19 -0000 1.26 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 11 Sep 2012 21:39:49 -0000 1.27 @@ -172,19 +172,24 @@ service.save(user); } - public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException { Map properties = new HashMap(); properties.put("extServerOrgMap.sid", serverMap.getSid()); properties.put("extUsername", extUsername); List list = service.findByProperties(ExtUserUseridMap.class, properties); if (list == null || list.size() == 0) { - return createExtUserUseridMap(serverMap, extUsername); + return createExtUserUseridMap(serverMap, extUsername, prefix); } else { return (ExtUserUseridMap) list.get(0); } } + public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + throws UserInfoFetchException { + return getExtUserUseridMap(serverMap, extUsername, true); + } + public ExtUserUseridMap getExistingExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException { Map properties = new HashMap(); @@ -307,11 +312,11 @@ } // compatibility method to support integrations - private ExtUserUseridMap createExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + private ExtUserUseridMap createExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException { String[] userData = getUserDataFromExtServer(serverMap, extUsername); String password = HashUtil.sha1(RandomPasswordGenerator.nextPassword(10)); - return createExtUserUseridMap(serverMap, extUsername, password, userData, true); + return createExtUserUseridMap(serverMap, extUsername, password, userData, prefix); } // compatibility method