Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== diff -u -r11131df382a98ef8fa62a7ddfa73526008894b2f -r1ecf9f8e2a9ae881fd844736c236c9d2f451cea7 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 11131df382a98ef8fa62a7ddfa73526008894b2f) +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 1ecf9f8e2a9ae881fd844736c236c9d2f451cea7) @@ -175,7 +175,14 @@ // but forward doesn't work, use this until a better method is found hses.setAttribute("extUser", login); hses.setAttribute(AttributeNames.USER, user.getUserDTO()); - response.sendRedirect("j_security_check?j_username=" + login + "&j_password=" + pass); + + // for NTU Blackboard's based templates, force to https to co-exist with Blackboard + String redirect = request.getParameter("redirectURL"); + if ( redirect != null && redirect.indexOf("ldtemplate") >= 0 ) { + response.sendRedirect("https://"+ request.getServerName() + ":" + request.getServerPort() + request.getContextPath() +"/j_security_check?j_username=" + login + "&j_password=" + pass); + } else { + response.sendRedirect("j_security_check?j_username=" + login + "&j_password=" + pass); + } } catch (AuthenticationException e) { LoginRequestServlet.log.error("Authentication error: ", e); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, Index: lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java =================================================================== diff -u -rbab5898426658f44cb5ee1a7911a1966578344ef -r1ecf9f8e2a9ae881fd844736c236c9d2f451cea7 --- lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision bab5898426658f44cb5ee1a7911a1966578344ef) +++ lams_common/src/java/org/lamsfoundation/lams/integration/util/LoginRequestDispatcher.java (.../LoginRequestDispatcher.java) (revision 1ecf9f8e2a9ae881fd844736c236c9d2f451cea7) @@ -124,8 +124,14 @@ // get the location from an explicit parameter if it exists String redirect = request.getParameter("redirectURL"); - if ( redirect != null ) - return request.getContextPath() + "/" + redirect; + if ( redirect != null ) { + // for NTU Blackboard's based templates, force to https to co-exist with Blackboard + if ( redirect.indexOf("ldtemplate") >= 0 ) { + return "https://"+ request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/" + redirect; + } else { + return request.getContextPath() + "/" + redirect; + } + } String method = request.getParameter(PARAM_METHOD); String lessonId = request.getParameter(PARAM_LESSON_ID);