+ if (request.getParameter(REDIRECT_URL) != null && request.getParameter(REDIRECT_URL).length() != 0) {
+ return new ModelAndView(REDIRECT_COLON + DEFAULT_FAILURE_VIEW + ".htm" + "?redirectUrl="
+ + request.getParameter(REDIRECT_URL));
+ } else {
+ return new ModelAndView(REDIRECT_COLON + DEFAULT_FAILURE_VIEW + ".htm");
+ }
+ } else {
+
+ sbAdditionalInfo.append(
+ String.format("Login-Id: %s, Login-Method: %s, Request-URL: %s", orgUserId, "", fullURL));
+ logger.info(EELFLoggerDelegate.debugLogger, "processSingleSignOn: now set up user session for {}",
+ orgUserId);
+
+ EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(),
+ commandBean.getBusinessDirectMenu(),
+ SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM), ePRoleFunctionService);
+ logger.info(EELFLoggerDelegate.debugLogger,
+ "processSingleSignOn: now set up user session for {} finished", orgUserId);
+
+ // Store user's information into share context
+ try {
+ logger.info(EELFLoggerDelegate.debugLogger,
+ "processSingleSignOn: store user info into share context begins");
+ String sessionId = request.getSession().getId();
+ List<SharedContext> existingSC = getSharedContextService().getSharedContexts(sessionId);
+ if (existingSC == null || existingSC.isEmpty()) {
+ getSharedContextService().addSharedContext(sessionId, EPSystemProperties.USER_FIRST_NAME,
+ commandBean.getUser().getFirstName());
+ getSharedContextService().addSharedContext(sessionId, EPSystemProperties.USER_LAST_NAME,
+ commandBean.getUser().getLastName());
+ getSharedContextService().addSharedContext(sessionId, EPSystemProperties.USER_EMAIL,
+ commandBean.getUser().getEmail());
+ getSharedContextService().addSharedContext(sessionId, EPSystemProperties.USER_ORG_USERID,
+ commandBean.getLoginId());
+ }
+ } catch (Exception e) {
+ logger.info(EELFLoggerDelegate.errorLogger,
+ "processSingleSignOn: failed the shared context adding process", e);
+ }
+
+ logger.info(EELFLoggerDelegate.debugLogger,
+ "processSingleSignOn: PresetUp the EP service cookie and intial sessionManagement");
+ SessionCookieUtil.preSetUp(request, response);
+ SessionCookieUtil.setUpUserIdCookie(request, response, orgUserId);
+ logger.info(EELFLoggerDelegate.debugLogger,
+ "processSingleSignOn: PresetUp the EP service cookie and intial sessionManagement completed");
+ logger.info(EELFLoggerDelegate.debugLogger,
+ commandBean.getUser().getOrgUserId() + " exists in the the system.");
+
+ // get redirectUrl from URL parameter
+ if (request.getParameter(REDIRECT_URL) != null && request.getParameter(REDIRECT_URL).length() != 0) {
+ String forwardUrl = URLDecoder.decode(request.getParameter(REDIRECT_URL), "UTF-8");
+ // clean cookie
+ Cookie cookie2 = new Cookie(REDIRECT_URL, "");
+ // ONAP does not use https
+ cookie2.setSecure(false);
+ cookie2.setMaxAge(0);
+ cookie2.setDomain(EPSystemProperties.getProperty(EPSystemProperties.COOKIE_DOMAIN));
+ cookie2.setPath("/");
+ response.addCookie(cookie2);
+ return new ModelAndView(REDIRECT_COLON + forwardUrl);
+ }
+
+ // first check if redirectUrl exists or not
+ if (WebUtils.getCookie(request, REDIRECT_URL) != null) {
+ String forwardUrl = WebUtils.getCookie(request, REDIRECT_URL).getValue();
+ // clean cookie
+ Cookie cookie2 = new Cookie(REDIRECT_URL, "");
+ // ONAP does not use https
+ cookie2.setSecure(false);
+ cookie2.setMaxAge(0);
+ cookie2.setDomain(EPSystemProperties.getProperty(EPSystemProperties.COOKIE_DOMAIN));
+ cookie2.setPath("/");
+ response.addCookie(cookie2);
+
+ return new ModelAndView(REDIRECT_COLON + forwardUrl);