package org.apereo.cas.web.flow; import com.alibaba.fastjson.JSONObject; import org.apereo.cas.services.ServicesManager; import org.apereo.cas.web.landtool.terra.OjdbcProperties; import org.apereo.cas.web.landtool.utils.HttpUtils; import org.apereo.cas.web.support.WebUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.webflow.action.AbstractAction; import org.springframework.webflow.execution.Event; import org.springframework.webflow.execution.RequestContext; import javax.servlet.http.HttpServletRequest; @Component("LoginAction") public class LoginAction extends AbstractAction { protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private OjdbcProperties ojdbcProperties; protected ServicesManager servicesManager; @Override protected Event doExecute(RequestContext requestContext) throws Exception { this.logger.debug("Initialized login sequence"); System.out.print("这里是登入操作"); System.out.println("======================="); System.out.println(ojdbcProperties.toString()); System.out.println("======================="); // HttpServletRequest hsr= WebUtils.getHttpServletRequest(); JSONObject json=portallogin(hsr); if(json!=null&&json.containsKey("username")){ requestContext.getFlowScope().put("username", json.get("username").toString()); } String serviceUrl = hsr.getParameter("service"); if(json!=null){ return new Event(this,"directsubmit"); }else{ return success(); } } public void setServicesManager(ServicesManager servicesManager) { this.servicesManager = servicesManager; } public JSONObject portallogin(HttpServletRequest request) { String result=""; String querystring=request.getQueryString(); String username=""; if(querystring!=null){ String par[] = querystring.split("&"); for (int i = 0; i < par.length; i++) { String a = par[i].split("=")[0]; String v = par[i].split("=")[1]; if(a.equals("validateNumber")){ String validateurl="http://192.168.4.50/services/PortalLoginService/ValidLoginUser?validateNumber="+v; try { result= HttpUtils.get(validateurl); } catch (Exception e) { logger.info(result); e.printStackTrace(); } } if(a.equals("userName")){ username=v; } } int start= result.indexOf(""); int end=result.indexOf(""); if(start!=-1&&end!=-1){ JSONObject json= JSONObject.parseObject(result.substring(start+11,end)); json.put("username", username); return json; } } return null; } }