Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.wm.scmt.controller.login;
- //import java.util.Base64;
- //To try and do base64 with java 1.6
- import static javax.xml.bind.DatatypeConverter.printBase64Binary;
- import java.nio.charset.Charset;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Map;
- //import java.util.ResourceBundle;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.beans.factory.BeanFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.HttpMethod;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.http.converter.StringHttpMessageConverter;
- import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.client.RestTemplate;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.support.RequestContextUtils;
- import org.springframework.web.servlet.view.RedirectView;
- import com.wm.corelib.security.Role;
- import com.wm.corelib.security.User;
- import com.wm.scmt.actionforms.LoginForm;
- import com.wm.scmt.actionforms.SSOTokenRequest;
- import com.wm.scmt.actionforms.SSOTokenResponse;
- import com.wm.scmt.data.UserRoles;
- import com.wm.scmt.data.inbound.TenantDataManagerInbound;
- import com.wm.scmt.spring.GenericMessage;
- import com.wm.scmt.spring.ScmtConstants;
- import com.wm.scmt.spring.ScmtController;
- import com.wm.scmt.util.StringUtil;
- import com.wm.scmt.validators.ProcessLoginValidator;
- import common.JsonWebSignatureUtil;
- import entitites.IAMPayload;
- import entitites.JsonWebKey;
- @Controller
- public class ProcessLogin extends ScmtController {
- /** logger */
- public static final Logger logger = Logger.getLogger(ProcessLogin.class.getName());
- /**
- * Log in User and store in session, forward to proper destination
- */
- ProcessLoginValidator processLoginValidator;
- String cssStyle;
- String lookupType="CCS FILE";
- String LookupCode="1";
- @Autowired
- public ProcessLogin(ProcessLoginValidator processLoginValidator){
- this.processLoginValidator=processLoginValidator;
- }
- @RequestMapping(value="/Login.htm" , method = RequestMethod.GET)
- public ModelAndView showLoginForm(Map<String, Object> model , HttpServletRequest request) {
- LoginForm loginForm = new LoginForm();
- model.put("processLogin",loginForm);
- //currently we are giving all the parameters in the login.jsp. thats why this is commented out.under normal conditions, we would pass this information
- //based on qa or stg or prod environments
- // ResourceBundle rb = ResourceBundle.getBundle("iam-sso");
- // String ssoUrl = rb.getString("iam.sso.authorize.end.point.url");
- // String clientId = rb.getString("iam.sso.client.id");
- // String scope = "openid%20profile%20%20email";
- // String redirectUri = rb.getString("iam.sso.redirect_uri");
- // String nonce = "232";
- // String state = "232";
- // //-----------------redirect to sso login page /authorize with the correct query parameters
- // String finalUrl = ssoUrl
- // + "&client_id=" + clientId
- // + "&scope=" + scope
- // + "&redirect_uri=" + redirectUri
- // + "&nonce=" + nonce
- // + "&state=" + state;
- if(RequestContextUtils.getLocale(request).equals(Locale.CHINA)){
- cssStyle="CNSbttn";
- }
- else{cssStyle="USSbttn";}
- model.put("cssBttnStyle",cssStyle);
- //model.put("loginUrl", finalUrl);
- //Currently the button is redirecting to the SSO url, in the login.jsp page
- return new ModelAndView("login/login", model);
- }
- @RequestMapping(value="/ProcessLogin.htm")
- protected ModelAndView processLogin(@RequestParam("code") String code,
- @RequestParam("state") String state,
- HttpServletRequest request,
- HttpServletResponse response)
- throws Exception
- {
- BeanFactory beanfactory = new ClassPathXmlApplicationContext("context.xml");
- GenericMessage genericMessage = (GenericMessage) beanfactory.getBean("GenericMessage");
- Locale locale = RequestContextUtils.getLocale(request);
- Map<String, Object> processLoginModel = new HashMap<String,Object>();
- if (logger.isLoggable(Level.FINE)) {
- logger.log(Level.FINE, "Code = " + code + ", State = " + state);
- }
- ModelAndView modelAndWiew;
- RestTemplate restTemplate = new RestTemplate();
- String clientId = "eef6e5e0-17f3-4e1f-9728-26ffb67bfcf2";
- String clientSecret = "MNU5yZNu2hguKoM50krcaZRIR4sTijU7ap7emz5crkTDqa1qtS7NC0V5ppWvzuRMk9CE2Hvkz_wHwNPFsU4ZMg";
- String idTokenSigningKey = "{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"kid\":\"1805470c-564e-498e-89b4-9364a2f5eb73\",\"alg\":\"RSA1_5\",\"n\":\"lTSTH0Rv4u1WNSU7ne2VVcNhWPdlM69JQ0eJe7tVQVerg7WA_T-y2dN608q4UdADltxnsemJcJlZdnyG0Ksq5hwUiCPdsCfuRUuhc8XW_3DEIY0PzP2xW8EZIoWAnOHcbGXaqT2y-vvqoaQrZCtvEo5VLjMnfe7nExM0txibyd8\"}";
- String redirectUrl = "http://rkata-linux.corp.walmart.com/ProcessLogin.htm";
- String SsoUrl = "https://idp.dev.sso.platform.qa.walmart.com/platform-sso-server/authorize?response_type=code";
- String scope = "openid"; //We may be able to remove profile and email, since we only want authentication
- String redirectUri = "http://rkata-linux.corp.walmart.com/ProcessLogin.htm"; //redirect to here if login is successful
- String nonce = "232";
- String finalUrl = SsoUrl
- + "&client_id=" + clientId
- + "&scope=" + scope
- + "&redirect_uri=" + redirectUri
- + "&nonce=" + nonce
- + "&state=" + state;
- processLoginModel.put("loginUrl", finalUrl);
- // Process login
- User user = null;
- SSOTokenResponse tokenInfo = null;
- String[] debugger = new String[10];
- ResponseEntity<SSOTokenResponse> tokenResponse = null;
- HttpHeaders responseHeaders = null;
- try {
- //Use client id and client secret to generate authorization Header in Base 64 //need to extract the authorization code and send a REST api request to /token endpoint
- // Header fields
- final String clientIdAndSecret = String.format("%s:%s",
- clientId,
- clientSecret);
- //final String encoded = Base64.getEncoder()
- //.encodeToString(clientIdAndSecret.getBytes(Charset.forName("UTF-8")));
- final String encoded = printBase64Binary(clientIdAndSecret.getBytes(Charset.forName("UTF-8")));
- final String authorizationHeader = String.format("Basic %s", encoded);
- //prepare headers
- HttpHeaders headers = new HttpHeaders();
- List<MediaType> mediaTypes = new ArrayList<MediaType>();
- mediaTypes.add(MediaType.APPLICATION_JSON);
- headers.setAccept(mediaTypes);
- headers.setContentType(MediaType.APPLICATION_JSON);
- headers.add("Authorization", authorizationHeader);
- // generate Request Body
- //at this point we have recieved the otp code. now we need to make a token call.
- //now we need to decrypt the data, to send it to the /token api call
- SSOTokenRequest body = new SSOTokenRequest();
- body.setOTP_CODE(code);
- body.setGRANT_TYPE("authorization_code");
- body.setREDIRECT_URL(redirectUri);
- HttpEntity<SSOTokenRequest> entity = new HttpEntity<SSOTokenRequest>(body, headers);
- restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
- restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
- // Calling Token API and getting response
- tokenResponse = restTemplate.exchange(
- "https://idp.qa.sso.platform.qa.walmart.com/platform-sso-server/token",
- HttpMethod.POST,
- entity,
- SSOTokenResponse.class);
- tokenInfo = tokenResponse.getBody();
- responseHeaders = tokenResponse.getHeaders();
- debugger[7] = tokenResponse.hasBody() ? "Body = true" : "Body = false";
- debugger[6] = Integer.toString(tokenResponse.getHeaders().size());
- debugger[0] = "";
- for(String s : responseHeaders.keySet()) {
- debugger[0] += responseHeaders.get(s);
- }
- //we get back the response from token , so at this point we get redirected.
- final entitites.ReadOnlyJWTClaimsSet claimsSet = JsonWebSignatureUtil.getJWTClaimsSetFromSignedInput(
- new IAMPayload(tokenInfo.getId_token()), JsonWebKey.parse(idTokenSigningKey));
- final String userName = (String) claimsSet.getCustomClaim("name");
- final String emailId = (String) claimsSet.getCustomClaim("email");
- final String loginId = (String) claimsSet.getCustomClaim("loginId");
- final String userId = loginId.substring(loginId.indexOf("\\") + 1);
- debugger[1] = userName != null ? "username_not_null" + userName : "username_null";
- debugger[2] = emailId != null ? "email_not_null" + emailId : "email_null";
- debugger[3] = loginId != null ? "loginid_not_null" + loginId : "loginid_null";
- debugger[4] = "Claimset = " + claimsSet.toString();
- user = User.loadUserById(Integer.parseInt(userId));
- //user = null;
- } catch (Throwable e) {
- e.printStackTrace();
- } // save in session, forward appropriately
- //ActionForward forward;
- if ((user != null)) { //success
- //no longer necessary user.logLastLogin();
- request.getSession().setAttribute(USER_KEY, user);
- try {
- TenantDataManagerInbound tenantDataManagerInbound=new TenantDataManagerInbound(user.getCountryCode().toLowerCase());
- cssStyle=tenantDataManagerInbound.lookUpCSSStyle(user.getTenantId(), lookupType, LookupCode);
- }
- catch(Exception e) {
- e.printStackTrace();
- cssStyle="sbttn";
- }
- if(cssStyle==null|| cssStyle.equals("")){
- cssStyle="sbttn";
- }
- request.getSession().setAttribute("cssBttnStyle", cssStyle);
- if (StringUtil.isNonBlank(redirectUrl)) {
- modelAndWiew = new ModelAndView(new RedirectView(redirectUrl));
- } else {
- //check if a redirectUrl exists
- if(request.getParameter("redirectUrl")!=null && request.getParameter("redirectUrl").length()>0) {
- String queryStr = (request.getQueryString()==null?"":"?"+request.getQueryString());
- String newURL = request.getParameter("redirectUrl")+queryStr+"acd";
- try {
- response.sendRedirect(newURL);
- } catch (java.io.IOException e) {
- e.printStackTrace();
- genericMessage.addMessage("login.redirect.failure", new Object[]{request.getParameter("redirectUrl")},locale);
- saveErrors(request, genericMessage);
- modelAndWiew=new ModelAndView("login/login", processLoginModel);
- }
- return null;
- }
- if(hasInboundRead(user) || hasInboundEdit(user) ||
- hasWatchlistView(user) || hasWatchlistEdit(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_WATCHLIST);
- } else if(hasAdmin(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- } else if(hasTransprtOnly(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- } else if(hasFinanceOnly(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_FINANCE);
- } else if( (hasTransprtRead(user) || hasTransprtEdit(user) ) &&
- (hasFinanceRead(user) || hasFinanceEdit(user) ) ) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- } else if(hasIatView(user) || hasIatEdit(user) || hasIatAdmin(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_IAT);
- } else if(hasOsdView(user) || hasOsdEdit(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OSD);
- } else if(hasDcOpsView(user) || hasDcOpsEdit(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_DCOPS);
- } else if(hasScmtRLViewOnly(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RL);
- } else if(hasOsdView(user) || hasAdjAdmin(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_ADJUSTMENTS);
- } else if(hasReturnsView(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RETURNS);
- } else if(hasAutoDisp(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_AUTO_DISP);
- } else if(hasGenericUser(user)) {
- //modelAndWiew = new ModelAndView(new RedirectView(ScmtConstants.REDIERCT_TO_INBOUND));
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- } else if(hasScmtCostOverridesOnly(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OVERRIDES);
- } else if(hasScmtPutInvBuffer(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_PUTINVENTORYBUFFER);
- } else if(hasScmtUserAdmin(user)) {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_USER_ADMIN);
- } else {
- modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_SUCCESS);
- }
- }
- } else {
- //genericMessage.addMessage("login.failure", new Object[]{}, locale);
- debugger[8] = "User data = " + user;
- debugger[9] = "state = " + state + "code = " + code;
- //debugger.add("Tokenresponse = " + tokenInfo.toString());
- genericMessage.addMesage(debugger);
- saveErrors(request, genericMessage);
- modelAndWiew =new ModelAndView("login/login",processLoginModel);
- }
- return modelAndWiew;
- }
- // @RequestMapping(value="/ProcessLogin.htm")
- // protected ModelAndView processLogin(@ModelAttribute("processLogin") LoginForm loginForm, BindingResult result,
- // HttpServletRequest request,HttpServletResponse response)
- // throws Exception {
- //
- // String username = (String)loginForm.getUserName();
- // String password = (String)loginForm.getPassword();
- // String destination = (String)loginForm.getDestination();
- // BeanFactory beanfactory = new ClassPathXmlApplicationContext("context.xml");
- // GenericMessage genericMessage = (GenericMessage) beanfactory.getBean("GenericMessage");
- // Locale locale=RequestContextUtils.getLocale(request);
- // Map<String, Object> processLoginModel=new HashMap<String,Object>();
- // if (logger.isLoggable(Level.FINE)) {
- // logger.log(Level.FINE, loginForm.toString());
- // }
- // processLoginValidator.validate(loginForm, result);
- // if (result.hasErrors()) { //if validator failed
- //
- // processLoginModel.put("processLogin",loginForm);
- // return new ModelAndView("login/login", processLoginModel);
- // }
- //
- // ModelAndView modelAndWiew;
- //
- //
- //// Process login
- // User user = null;
- // try {
- // user = User.loadByIscLoginPass(username, password, APP_ID);
- // /* no longer used
- // if(user!=null) {
- // ScmtDataManager.getInstance().syncUserRoleSecurityLogin(getUserRoles(user),"Y");
- // } else {
- // ScmtDataManager.getInstance().syncUserRoleSecurityLogin(getEmptyUserRole(username),"N");
- // }
- // */
- // } catch (Throwable e) {
- // e.printStackTrace();
- // } // save in session, forward appropriately
- // //ActionForward forward;
- // if ((user != null)) { //success
- // //no longer necessary user.logLastLogin();
- // request.getSession().setAttribute(USER_KEY, user);
- // try{
- // TenantDataManagerInbound tenantDataManagerInbound=new TenantDataManagerInbound(user.getCountryCode().toLowerCase());
- // cssStyle=tenantDataManagerInbound.lookUpCSSStyle(user.getTenantId(), lookupType, LookupCode);
- // }
- // catch(Exception e){
- // e.printStackTrace();
- // cssStyle="sbttn";
- // }
- // if(cssStyle==null|| cssStyle.equals("")){
- // cssStyle="sbttn";
- // }
- // request.getSession().setAttribute("cssBttnStyle", cssStyle);
- // if (StringUtil.isNonBlank(destination)) {
- // modelAndWiew = new ModelAndView(new RedirectView(destination));
- //
- // } else {
- // //check if a redirectUrl exists
- // if(request.getParameter("redirectUrl")!=null && request.getParameter("redirectUrl").length()>0) {
- // String queryStr = (request.getQueryString()==null?"":"?"+request.getQueryString());
- // String newURL = request.getParameter("redirectUrl")+queryStr+"acd";
- // try {
- // response.sendRedirect(newURL);
- // } catch (java.io.IOException e) {
- // e.printStackTrace();
- // genericMessage.addMessage("login.redirect.failure", new Object[]{request.getParameter("redirectUrl")},locale);
- // saveErrors(request, genericMessage);
- // processLoginModel.put("processLogin", loginForm);
- // modelAndWiew=new ModelAndView("login/login",processLoginModel);
- //
- // }
- // return null;
- // }
- //
- // if(hasInboundRead(user) || hasInboundEdit(user) ||
- // hasWatchlistView(user) || hasWatchlistEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_WATCHLIST);
- // } else if(hasAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- // } else if(hasTransprtOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- // } else if(hasFinanceOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_FINANCE);
- // } else if( (hasTransprtRead(user) || hasTransprtEdit(user) ) &&
- // (hasFinanceRead(user) || hasFinanceEdit(user) ) ) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- // } else if(hasIatView(user) || hasIatEdit(user) || hasIatAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_IAT);
- // } else if(hasOsdView(user) || hasOsdEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OSD);
- // } else if(hasDcOpsView(user) || hasDcOpsEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_DCOPS);
- // } else if(hasScmtRLViewOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RL);
- // } else if(hasOsdView(user) || hasAdjAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_ADJUSTMENTS);
- // } else if(hasReturnsView(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RETURNS);
- // } else if(hasAutoDisp(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_AUTO_DISP);
- // } else if(hasGenericUser(user)) {
- // //modelAndWiew = new ModelAndView(new RedirectView(ScmtConstants.REDIERCT_TO_INBOUND));
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- // } else if(hasScmtCostOverridesOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OVERRIDES);
- // } else if(hasScmtPutInvBuffer(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_PUTINVENTORYBUFFER);
- // } else if(hasScmtUserAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_USER_ADMIN);
- // } else {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_SUCCESS);
- // }
- // }
- // }else {
- // genericMessage.addMessage("login.failure", new Object[]{}, locale);
- // saveErrors(request, genericMessage);
- // processLoginModel.put("processLogin", loginForm);
- // modelAndWiew =new ModelAndView("login/login",processLoginModel);
- // }
- // return modelAndWiew;
- // }
- //
- // @RequestMapping(value="/ProcessLogin.htm")
- // protected ModelAndView processLogin(@RequestBody SSOAuthorizeResponse ssoResponse, BindingResult result,
- // HttpServletRequest request,HttpServletResponse response)
- // throws Exception {
- //
- // BeanFactory beanfactory = new ClassPathXmlApplicationContext("context.xml");
- // GenericMessage genericMessage = (GenericMessage) beanfactory.getBean("GenericMessage");
- // Locale locale=RequestContextUtils.getLocale(request);
- // Map<String, Object> processLoginModel=new HashMap<String,Object>();
- // if (logger.isLoggable(Level.FINE)) {
- // logger.log(Level.FINE, ssoResponse.toString());
- // }
- //
- // // Not needed as Validation is covered at SSO page
- //// processLoginValidator.validate(loginForm, result);
- //// if (result.hasErrors()) { //if validator failed
- ////
- //// processLoginModel.put("processLogin",loginForm);
- //// return new ModelAndView("login/login", processLoginModel);
- //// }
- //
- // ModelAndView modelAndWiew;
- //
- //
- // RestTemplate restTemplate = new RestTemplate();
- //
- //// Process login
- // User user = null;
- // try {
- // user = User.loadByIscLoginPass(username, password, APP_ID);
- // /* no longer used
- // if(user!=null) {
- // ScmtDataManager.getInstance().syncUserRoleSecurityLogin(getUserRoles(user),"Y");
- // } else {
- // ScmtDataManager.getInstance().syncUserRoleSecurityLogin(getEmptyUserRole(username),"N");
- // }
- // */
- // } catch (Throwable e) {
- // e.printStackTrace();
- // } // save in session, forward appropriately
- // //ActionForward forward;
- // if ((user != null)) { //success
- // //no longer necessary user.logLastLogin();
- // request.getSession().setAttribute(USER_KEY, user);
- // try{
- // TenantDataManagerInbound tenantDataManagerInbound=new TenantDataManagerInbound(user.getCountryCode().toLowerCase());
- // cssStyle=tenantDataManagerInbound.lookUpCSSStyle(user.getTenantId(), lookupType, LookupCode);
- // }
- // catch(Exception e){
- // e.printStackTrace();
- // cssStyle="sbttn";
- // }
- // if(cssStyle==null|| cssStyle.equals("")){
- // cssStyle="sbttn";
- // }
- // request.getSession().setAttribute("cssBttnStyle", cssStyle);
- // if (StringUtil.isNonBlank(destination)) {
- // modelAndWiew = new ModelAndView(new RedirectView(destination));
- //
- // } else {
- // //check if a redirectUrl exists
- // if(request.getParameter("redirectUrl")!=null && request.getParameter("redirectUrl").length()>0) {
- // String queryStr = (request.getQueryString()==null?"":"?"+request.getQueryString());
- // String newURL = request.getParameter("redirectUrl")+queryStr+"acd";
- // try {
- // response.sendRedirect(newURL);
- // } catch (java.io.IOException e) {
- // e.printStackTrace();
- // genericMessage.addMessage("login.redirect.failure", new Object[]{request.getParameter("redirectUrl")},locale);
- // saveErrors(request, genericMessage);
- // processLoginModel.put("processLogin", loginForm);
- // modelAndWiew=new ModelAndView("login/login",processLoginModel);
- //
- // }
- // return null;
- // }
- //
- // if(hasInboundRead(user) || hasInboundEdit(user) ||
- // hasWatchlistView(user) || hasWatchlistEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_WATCHLIST);
- // } else if(hasAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- // } else if(hasTransprtOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- // } else if(hasFinanceOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_FINANCE);
- // } else if( (hasTransprtRead(user) || hasTransprtEdit(user) ) &&
- // (hasFinanceRead(user) || hasFinanceEdit(user) ) ) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_TRANSPRT);
- // } else if(hasIatView(user) || hasIatEdit(user) || hasIatAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_IAT);
- // } else if(hasOsdView(user) || hasOsdEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OSD);
- // } else if(hasDcOpsView(user) || hasDcOpsEdit(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_DCOPS);
- // } else if(hasScmtRLViewOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RL);
- // } else if(hasOsdView(user) || hasAdjAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_ADJUSTMENTS);
- // } else if(hasReturnsView(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_RETURNS);
- // } else if(hasAutoDisp(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_AUTO_DISP);
- // } else if(hasGenericUser(user)) {
- // //modelAndWiew = new ModelAndView(new RedirectView(ScmtConstants.REDIERCT_TO_INBOUND));
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARd_TO_INBOUND);
- // } else if(hasScmtCostOverridesOnly(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_OVERRIDES);
- // } else if(hasScmtPutInvBuffer(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_PUTINVENTORYBUFFER);
- // } else if(hasScmtUserAdmin(user)) {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_USER_ADMIN);
- // } else {
- // modelAndWiew = new ModelAndView(ScmtConstants.FORWARD_TO_SUCCESS);
- // }
- // }
- // }else {
- // genericMessage.addMessage("login.failure", new Object[]{}, locale);
- // saveErrors(request, genericMessage);
- // processLoginModel.put("processLogin", loginForm);
- // modelAndWiew =new ModelAndView("login/login",processLoginModel);
- // }
- // return modelAndWiew;
- // }
- /** generate sql array of user roles to pass to isc_front_end_api_pkg.sync_user_role_security_login */
- private UserRoles[] getUserRoles(User user) {
- UserRoles[] retVal = null;
- ArrayList<UserRoles> list = new ArrayList<UserRoles>();
- Role[] userRoles = user.getRoles();
- for(int i=0;i<userRoles.length;i++) {
- int userId = user.getUserId();
- String userLogin = user.getLogin();
- int roleId = userRoles[i].getRoleId();
- String roleName = userRoles[i].getRoleName();
- String userEmail = user.getEmail();
- String isActive = user.getActive();
- UserRoles ur = new UserRoles(userId, userLogin,
- roleId, roleName, userEmail, isActive, "TYP_USER_ROLE");
- list.add(ur);
- }
- if (! list.isEmpty()){
- retVal = list.toArray(new UserRoles[list.size()]);
- }
- return retVal;
- }
- /** if user is null generate empty sql array with username for isc_front_end_api_pkg.sync_user_role_security_login */
- private UserRoles[] getEmptyUserRole(String username) {
- UserRoles[] retVal = null;
- ArrayList<UserRoles> list = new ArrayList<UserRoles>();
- int userId = 0;
- String userLogin = username;
- int roleId = 0;
- String roleName = null;
- String userEmail = null;
- String isActive = null;
- UserRoles ur = new UserRoles(userId, userLogin,
- roleId, roleName, userEmail, isActive, "TYP_USER_ROLE");
- list.add(ur);
- if (! list.isEmpty()){
- retVal = list.toArray(new UserRoles[list.size()]);
- }
- return retVal;
- }
- }
Add Comment
Please, Sign In to add comment